Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | util.promise: Switch order of parameters to join() | Matthew Wild | 2021-03-25 | 1 | -2/+2 | |
| | | | | | | | | | | 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 | 1 | -0/+33 | |
| | | ||||||
* | | util.promise: Add join() convenience method | Matthew Wild | 2021-03-25 | 1 | -0/+26 | |
| | | | | | | | | | | | | 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 | 1 | -0/+37 | |
| | | ||||||
* | | 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: Deal with locally built stanzas missing xmlns | Kim Alvefur | 2021-03-23 | 1 | -0/+28 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Complete array building support | Kim Alvefur | 2021-03-20 | 1 | -0/+11 | |
| | | ||||||
* | | util.datamapper: Finally implement support for parsing arrays | Kim Alvefur | 2021-03-20 | 1 | -0/+63 | |
| | | ||||||
* | | util.datamapper: Fix arrays nesting one level too deep | Kim Alvefur | 2021-03-19 | 1 | -7/+15 | |
| | | ||||||
* | | util.datamapper: Limited support for unparsing simple arrays of strings | Kim Alvefur | 2021-03-18 | 1 | -6/+2 | |
| | | ||||||
* | | util.datamapper: Add initial support for parsing arrays | Kim Alvefur | 2021-03-18 | 1 | -1/+24 | |
| | | ||||||
* | | util.datamapper: Enumerated elements | Kim Alvefur | 2021-03-12 | 1 | -1/+9 | |
| | | | | | | | | E.g. error conditions or chat states. | |||||
* | | util.datamapper: Add support for mapping of elements where only one ↵ | Kim Alvefur | 2021-03-07 | 1 | -0/+7 | |
| | | | | | | | | | | | | | | 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 | -0/+6 | |
| | | ||||||
* | | util.datamapper: Invent extension for using tag name as value | Kim Alvefur | 2021-03-06 | 1 | -5/+11 | |
| | | | | | | | | | | 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 | -0/+12 | |
| | | ||||||
* | | util.datamapper: Library for extracting data from stanzas | Kim Alvefur | 2021-03-07 | 1 | -0/+56 | |
| | | | | | | | | Based on the XML support in the OpenAPI specification. | |||||
* | | mod_pubsub: Include <pubsub> with unsubscribe reply | Kim Alvefur | 2021-03-15 | 1 | -1/+5 | |
| | | | | | | | | | | | | | | | | | | XEP-0060 6.2.2 This is a MAY but it makes it nice and symmetric with the subscription response. Reduces the need to remember which node you unsubscribed from. Explicit > implicit etc. | |||||
* | | util.rsm: Increase test coverage | Kim Alvefur | 2021-03-06 | 1 | -0/+43 | |
| | | | | | | | | Test all fields in both directions in order to catch #1642 | |||||
* | | core.storagemanager: s/Multilpe/Multiple/ [codespell] | Kim Alvefur | 2021-03-05 | 1 | -1/+1 | |
| | | ||||||
* | | MUC: Add robot face test | Kim Alvefur | 2021-03-02 | 1 | -0/+46 | |
| | | | | | | | | See 6e051bfca12d | |||||
* | | util.datamanager: Add basic tests | Kim Alvefur | 2021-02-09 | 1 | -0/+76 | |
| | | | | | | | | | | Test all the things! Somewhat covered by the storagemanager tests, but we don't currently don't have that automated as it needs SQL engines. | |||||
* | | util.cache: Add test for :table (fails on Lua 5.1) | Kim Alvefur | 2021-02-05 | 1 | -0/+24 | |
| | | ||||||
* | | scansion tests: Give a title to HTTP Upload test | Kim Alvefur | 2021-02-03 | 1 | -0/+2 | |
| | | ||||||
* | | mod_storage_sql: Implement map-like API for archives | Kim Alvefur | 2021-02-01 | 1 | -2/+2 | |
| | | | | | | | | | | | | | | | | Used by mod_http_file_share, muc moderation, etc. Tests tweaked because they failed on stanza internals that happen becasue of re-serialization. Namespaces differ since inheritance is implicit when building but explicit after parsing. | |||||
* | | storage: Test reverse-ordered queries | Kim Alvefur | 2021-02-01 | 1 | -0/+22 | |
| | | ||||||
* | | mod_mam: Remove obsolete queryid attribute from tests | Kim Alvefur | 2021-01-29 | 1 | -2/+2 | |
| | | ||||||
* | | mod_http_file_share: Reject invalid file sizes | Kim Alvefur | 2021-01-27 | 1 | -0/+13 | |
| | | ||||||
* | | mod_http_file_share: Add file type filter | Kim Alvefur | 2021-01-26 | 2 | -0/+14 | |
| | | | | | | | | | | Unlike mod_http_upload, this can't be bypassed by uploading with a different file extension. | |||||
* | | mod_http_file_share: Add file size limit (default 10M) | Kim Alvefur | 2021-01-26 | 2 | -0/+17 | |
| | | ||||||
* | | mod_http_file_share: Validate that filename does not contain '/' | Kim Alvefur | 2021-01-26 | 1 | -0/+13 | |
| | | ||||||
* | | mod_http_file_share: Let's write another XEP-0363 implementation | Kim Alvefur | 2021-01-26 | 2 | -0/+28 | |
| | | | | | | | | | | | | | | | | | | | | This variant is meant to improve upon mod_http_upload in some ways: * Handle files much of arbitrary size efficiently * Allow GET and PUT URLs to be different * Remember Content-Type sent by client * Avoid dependency on mod_http_files * Built-in way to delegate storage to another httpd | |||||
* | | util.interpolation: Add test for #1623 | Kim Alvefur | 2021-01-25 | 1 | -0/+5 | |
| | | ||||||
* | | mod_mam: Workaround scansion test flakyness | Kim Alvefur | 2021-01-13 | 1 | -12/+2 | |
| | | | | | | | | The empty ID fields are sometimes accepted, sometimes not. | |||||
* | | storage tests: Add test for querying a set of IDs | Kim Alvefur | 2021-01-12 | 1 | -0/+24 | |
| | | ||||||
* | | storage tests: Test querys with both before and after IDs | Kim Alvefur | 2021-01-12 | 1 | -0/+21 | |
| | | | | | | | | Needed for extended MAM, supported by SQL storage already. | |||||
* | | mod_mam: Implement extended MAM metadata query | Kim Alvefur | 2020-11-30 | 1 | -0/+14 | |
| | | ||||||
* | | mod_mam: Add support for page flipping | Kim Alvefur | 2020-11-30 | 1 | -0/+44 | |
| | | | | | | | | | | This was easy. Needs tests tho, 100% chance of the logic being backwards. | |||||
* | | mod_mam: Advertise extended MAM 0.7.x behind a feature flag | Kim Alvefur | 2020-11-30 | 1 | -0/+78 | |
| | | | | | | | | | | | | | | In order to ease testing until the extended feautres are all implemented. Also TODOs for all the sub-features. | |||||
* | | scansion: Allow specifying a logfile for prosody via environment | Kim Alvefur | 2021-01-05 | 1 | -1/+1 | |
| | | | | | | | | This should allow Buildbot to pick up those logs along with scansions | |||||
* | | MUC: Reject probes from non-occupants | JC Brand | 2020-10-02 | 1 | -1/+64 | |
| | | | | | | | | Also test for self-probes | |||||
* | | MUC: Add support for presence probes (fixes #1535) | JC Brand | 2020-04-19 | 1 | -0/+115 | |
| | | | | | | | | | | | | | | | | | | | | | | The following patch allows Prosody to respond to `probe` presences and send out the probed occupant's current presence. This is based on line 17.3 in XEP-0045: A MUC service MAY handle presence probes sent to the room JID <room@service> or an occupant JID <room@service/nick> (e.g, these might be sent by an occupant's home server to determine if the room is still online or to synchronize presence information if the user or the user's server has gone offline temporarily or has started sharing presence again, as for instance when Stanza Interception and Filtering Technology (XEP-0273) is used). | |||||
* | | util.error: Add coerce and wrap methods to registry(?) objects | Matthew Wild | 2020-12-09 | 1 | -0/+70 | |
| | | ||||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-11-11 | 1 | -0/+1 | |
|\| | ||||||
| * | util.stanza: Reject ASCII control characters (fixes #1606) | Kim Alvefur | 2020-11-11 | 1 | -0/+1 | |
| | | ||||||
* | | util_paths_spec: Trim trailing white space | Kim Alvefur | 2020-10-17 | 1 | -1/+1 | |
| | | | | | | | | And add spacing between describe() blocks | |||||
* | | util.paths: Add some tests | Kim Alvefur | 2020-10-17 | 1 | -0/+39 | |
| | | ||||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-10-16 | 1 | -0/+93 | |
|\| | ||||||
| * | util.debug: Fix locals being reported under wrong stack frame in some cases ↵ | Matthew Wild | 2020-10-16 | 1 | -0/+93 | |
| | | | | | | | | (+tests!!) | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-10-15 | 1 | -0/+41 | |
|\| |