Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | mod_http_file_share: Add internal command to check files consistency | Kim Alvefur | 2021-03-28 | 1 | -0/+18 | |
| | | | | | | | | | | | | Background: Found a few files in my store that did not match the size recorded in the slot, so I needed a way to check which which those were. As it was a bit too much to type into the shell I added it here instead. | |||||
* | | util.datamapper: Fix spelling in tests | Kim Alvefur | 2021-03-28 | 1 | -2/+2 | |
| | | ||||||
* | | mod_http_file_share: Fix reporting of missing files | Kim Alvefur | 2021-03-28 | 1 | -2/+5 | |
| | | | | | | | | | | | | | | This just gave an unhelpful 500 error. It would be nice to have some wrapper code that could untangle the embedded filename in the io libs errors. | |||||
* | | MUC: Report number of live rooms to statsmanager | Kim Alvefur | 2021-03-28 | 1 | -0/+5 | |
| | | | | | | | | Should help inform on whether the cache size should be increased. | |||||
* | | mod_http_file_share: Report number of items in caches to statsmanager | Kim Alvefur | 2021-03-28 | 1 | -0/+8 | |
| | | | | | | | | | | | | This is neat, O(1) reporting, why don't we do this everywhere? Gives you an idea of how much stuff is in the caches, which may help inform decisions on whether the size is appropriate. | |||||
* | | util.prosodyctl: Install plugins for current Lua version | Kim Alvefur | 2021-03-16 | 1 | -2/+2 | |
| | | | | | | | | | | | | | | | | Fixes that luarocks defaults to installing the rock for its own runtime version of Lua. This only works with luarocks 3.x, it does nothing on 2.x as currently available from Debian. | |||||
* | | util.envload: Add basic test of envload() | Kim Alvefur | 2021-03-26 | 1 | -0/+22 | |
| | | ||||||
* | | util.datamapper: Revert one special attribute to longer form | Kim Alvefur | 2021-03-26 | 1 | -1/+1 | |
| | | | | | | | | Had a name, using attr() broke it. | |||||
* | | util.datamapper: Use attribute convenience function throughout | Kim Alvefur | 2021-03-26 | 1 | -3/+4 | |
| | | ||||||
* | | util.promise: Switch order of parameters to join() | Matthew Wild | 2021-03-25 | 2 | -6/+4 | |
| | | | | | | | | | | This saves awkward fiddlery with varargs and also echoes the signature of pcall/xpcall. | |||||
* | | util.promise: all()/all_settled() pass through non-promise values | Matthew Wild | 2021-03-25 | 2 | -22/+63 | |
| | | ||||||
* | | util.promise: Add join() convenience method | Matthew Wild | 2021-03-25 | 2 | -0/+37 | |
| | | | | | | | | | | | | Usage: promise.join(p1, p2, function (result1, result2) [...] end) | |||||
* | | util.promise: Add support for arbitrary keys in all()/all_settled() | Matthew Wild | 2021-03-25 | 2 | -15/+64 | |
| | | ||||||
* | | mod_message: Stop advertising offline message support (mod_offline does that) | Kim Alvefur | 2021-03-24 | 1 | -2/+0 | |
| | | | | | | | | mod_offline also already advertises this feature, so it's added twice. | |||||
* | | util.datamapper: Don't include empty unwrapped arrays | Kim Alvefur | 2021-03-24 | 2 | -2/+8 | |
| | | | | | | | | | | | | Since there is no way to distinguish an empty such array from a zero-length array. Dropping it seems like the least annoying thing to do. | |||||
* | | util.datamapper: Add test coverage of unwrapped arrays of objects | Kim Alvefur | 2021-03-24 | 1 | -0/+14 | |
| | | | | | | | | | | Should the xml name/ns go on the array or the items schema? The later apparently. | |||||
* | | util.datamapper: Fix error on attempt to coerce nil to something | Kim Alvefur | 2021-03-23 | 2 | -0/+4 | |
| | | | | | | | | | | | | Turns falsy values into nil instead of nothing, which ensures this function always has 1 return value, or table.insert({}) complains. Would still happen on some unexpected input, but that's actually a good thing. | |||||
* | | mod_admin_shell: Sort timers by time in debug:timers() | Kim Alvefur | 2021-03-23 | 1 | -1/+6 | |
| | | | | | | | | | | Easier to see which timers are happening soon vs further in the future if they are in some sensible order. | |||||
* | | mod_c2s: Log a debug message before closing due to c2s_timeout | Kim Alvefur | 2021-03-23 | 1 | -0/+1 | |
| | | | | | | | | | | | | | | It was confusing that the connection would just close without much explanation. Wanted this while investigating https://github.com/conversejs/converse.js/issues/2438 | |||||
* | | util.datamapper: Deal with locally built stanzas missing xmlns | Kim Alvefur | 2021-03-23 | 3 | -10/+38 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So the problem is that xmlns is not inherited when building a stanza, and then :get_child(n, ns) with an explicit namespace does not find that such child tags. E.g. local t = st.stanza("foo", { xmlns = "urn:example:bar" }) :text_tag("hello", "world"); assert(t:get_child("hello", "urn:example:bar"), "This fails"); Meanwhile, during parsing (util.xmppstream or util.xml) child tags do get the parents xmlns when not overriding them. Thus, in the above example, if the stanza is passed trough `t = util.xml.parse(tostring(t))` then the assert succeeds. This change makes it so that it leaves out the namespace argument to :get_child when it is the same as the current/parent namespace, which behaves the same for both built and parsed stanzas. | |||||
* | | util.datamapper: Factor out conversion from any value to XML string | Kim Alvefur | 2021-03-22 | 2 | -58/+34 | |
| | | | | | | | | Since this was the last severely duplicated code left. | |||||
* | | mod_authz_internal: Ignore unused argument for now [luachec] | Kim Alvefur | 2021-03-22 | 1 | -1/+1 | |
| | | ||||||
* | | usermanager: expose set_roles through API | Jonas Schäfer | 2021-03-22 | 1 | -0/+18 | |
| | | ||||||
* | | mod_authz_internal: add support for setting roles of a local user | Jonas Schäfer | 2021-03-22 | 1 | -1/+8 | |
| | | ||||||
* | | util.datamapper: Handle nested arrays or objects in arrays | Kim Alvefur | 2021-03-22 | 2 | -8/+44 | |
| | | ||||||
* | | util.datamapper: Fix to skip parsing wrapped arrays that aren't there | Kim Alvefur | 2021-03-22 | 2 | -4/+0 | |
| | | | | | | | | Turns out the unreachable error is reachable :D | |||||
* | | util.datamapper: Clear done TODO (arrays) | Kim Alvefur | 2021-03-21 | 1 | -1/+0 | |
| | | | | | | | | | | | | | | | | | | Relevant commits: * 6a51749af7f4 * 0e00fa518688 * d1982b7eb00d * c098d07e6717 * 348b191cd850 | |||||
* | | util.datamapper: Complete array building support | Kim Alvefur | 2021-03-20 | 3 | -24/+17 | |
| | | ||||||
* | | util.datamapper: Factor out handling of object properties for array reuse | Kim Alvefur | 2021-03-20 | 2 | -158/+164 | |
| | | ||||||
* | | util.datamapper: Finally implement support for parsing arrays | Kim Alvefur | 2021-03-20 | 3 | -30/+85 | |
| | | ||||||
* | | util.datamapper: Factor out extraction of the XML part to use | Kim Alvefur | 2021-03-20 | 2 | -80/+84 | |
| | | | | | | | | | | | | | | | | So extract_value() takes an XML tag and details about which part we're interested in and returns that. Factoring this out will help with array implementation since this will be common behavior. | |||||
* | | util.datamapper: Only get element name if there's an element | Kim Alvefur | 2021-03-19 | 2 | -2/+6 | |
| | | | | | | | | Fixes error due to attempting to index a nil value | |||||
* | | make: Magic trick for teal-src/*.tl -> ./*.lua | Kim Alvefur | 2021-03-19 | 1 | -1/+2 | |
| | | ||||||
* | | util.datamapper: Fix arrays nesting one level too deep | Kim Alvefur | 2021-03-19 | 3 | -25/+31 | |
| | | ||||||
* | | util.datamapper: Deal with type name changes in util.jsonschema | Kim Alvefur | 2021-03-19 | 2 | -30/+34 | |
| | | ||||||
* | | util.jsonschema: Rename types for improved readability | Kim Alvefur | 2021-03-18 | 3 | -30/+56 | |
| | | ||||||
* | | teal: Use new integer support in Teal 0.13.0 | Kim Alvefur | 2021-03-18 | 14 | -53/+57 | |
| | | ||||||
* | | util.datamapper: Limited support for unparsing simple arrays of strings | Kim Alvefur | 2021-03-18 | 3 | -19/+75 | |
| | | ||||||
* | | util.datamapper: Add initial support for parsing arrays | Kim Alvefur | 2021-03-18 | 3 | -19/+118 | |
| | | ||||||
* | | util.datamapper: Factor out common schema unpacking | Kim Alvefur | 2021-03-14 | 2 | -163/+110 | |
| | | | | | | | | | | This code extracts the bits from the schema that determines how the data is to be mapped to/from XML. | |||||
* | | util.datamapper: Separate extraction of xml from coercion to target type | Kim Alvefur | 2021-03-14 | 2 | -68/+56 | |
| | | | | | | | | | | | | Now it gets the text, attribute or name first, then turns it into whatever the schema wants. This should be easier to further factor out into preparation for array support. | |||||
* | | util.datamapper: Use enum instead of mutually exclusive booleans | Kim Alvefur | 2021-03-14 | 2 | -40/+47 | |
| | | | | | | | | Cleaner and rules out invalid combinations. | |||||
* | | util.datamapper: Enumerated elements | Kim Alvefur | 2021-03-12 | 3 | -3/+49 | |
| | | | | | | | | E.g. error conditions or chat states. | |||||
* | | util.datamapper: Some TODOs | Kim Alvefur | 2021-03-10 | 1 | -0/+4 | |
| | | ||||||
* | | util.datamapper: Add references with notes | Kim Alvefur | 2021-03-10 | 2 | -0/+17 | |
| | | ||||||
* | | util.datamapper: Add Copyright header | Kim Alvefur | 2021-03-10 | 1 | -0/+6 | |
| | | ||||||
* | | util.jsonschema: Add copyright-header | Kim Alvefur | 2021-03-10 | 1 | -0/+9 | |
| | | ||||||
* | | util.jsonschema: Restructure "type" keyword handling | Kim Alvefur | 2021-03-09 | 2 | -18/+20 | |
| | | | | | | | | More in line with the other tests | |||||
* | | util.jsonschema: Syntax tweak to not upset syntax highlighting | Kim Alvefur | 2021-03-09 | 2 | -4/+4 | |
| | | | | | | | | | | That whole condition stanza was shown as angry red, I think it's something with 'enum' being a key word in Teal. | |||||
* | | util.jsonschema: Implement "propertyNames" | Kim Alvefur | 2021-03-09 | 2 | -0/+13 | |
| | | | | | | | | This is a bit special in Lua as tables are not limited to string keys |