Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | util.array: Add __div for parity with util.set | Matthew Wild | 2018-10-21 | 1 | -0/+19 |
| | |||||
* | util.array: Break long line | Matthew Wild | 2018-10-19 | 1 | -1/+5 |
| | |||||
* | util.promise: Add promise.try() | Matthew Wild | 2018-10-18 | 1 | -0/+6 |
| | |||||
* | util.pubsub: Allow publishing with a config that should be used as defaults only | Matthew Wild | 2018-10-18 | 1 | -4/+7 |
| | |||||
* | util.promise: Add a string representation | Kim Alvefur | 2018-10-18 | 1 | -0/+4 |
| | |||||
* | util.promise: Add promise:finally() | Matthew Wild | 2018-10-18 | 1 | -0/+6 |
| | |||||
* | util.promise: Some code relocation | Matthew Wild | 2018-10-18 | 1 | -23/+23 |
| | |||||
* | util.promise: Also support automatic resolution by returning a promise from ↵ | Matthew Wild | 2018-10-18 | 1 | -1/+3 |
| | | | | | | | an on_reject handler Originally unimplemented because it wasn't clear to me what the correct behaviour was, but the A+ spec is clear that both onFulfilled and onRejected may return a promise. | ||||
* | util.promise: Fix promise.reject() to return a rejected promise, and fix ↵ | Matthew Wild | 2018-10-18 | 1 | -1/+1 |
| | | | | buggy test for it | ||||
* | mod_http: Move normalize_path to util.http | Kim Alvefur | 2018-10-14 | 1 | -0/+11 |
| | |||||
* | util.dependencies: Add compat code for normalization of socket constructors | Kim Alvefur | 2018-10-12 | 1 | -0/+4 |
| | | | | | | Old LuaSocket had only tcp() which was IPv4-only. LuaSocket ~3.0 adds a tcp6() that creates a IPv6 socket. Some version moves tcp() to tcp4() and adds an IP-version-agnostic tcp() constructor. | ||||
* | util.stanza: Set preserialize as freeze metamethod | Kim Alvefur | 2018-10-12 | 1 | -0/+2 |
| | |||||
* | util.set: Add freeze metamethod | Kim Alvefur | 2018-10-12 | 1 | -0/+8 |
| | |||||
* | util.array: Add freeze metamethod | Kim Alvefur | 2018-10-12 | 1 | -0/+2 |
| | |||||
* | util.serialization: Remove encoding of very large or very small numbers in ↵ | Kim Alvefur | 2018-10-12 | 1 | -12/+1 |
| | | | | | | | | scientific notation Also difficult to describe this option, easier to remove it. %.18g covers a very large range of numbers | ||||
* | util.serialization: Simpler metatable pre-processing | Kim Alvefur | 2018-10-12 | 1 | -14/+12 |
| | | | | It was too difficult to describe what it did. | ||||
* | util.serialization: Use '=' prefix for chunk source description | Kim Alvefur | 2018-10-11 | 1 | -1/+1 |
| | | | | Like in bd5e4485a245 | ||||
* | util.serialization: Make check of prefix for optional hex encoding stricter | Kim Alvefur | 2018-10-11 | 1 | -1/+1 |
| | |||||
* | util.serialization: Make errors fatal by default (like the previous ↵ | Kim Alvefur | 2018-10-11 | 1 | -1/+1 |
| | | | | implementation) | ||||
* | util.promise: ES6-like API for promises | Matthew Wild | 2018-10-10 | 1 | -0/+133 |
| | |||||
* | util.serialization: Stricter type check | Kim Alvefur | 2018-09-23 | 1 | -1/+1 |
| | |||||
* | util.json: Use util.iterators.sorted_pairs() in ordered mode | Matthew Wild | 2018-09-21 | 1 | -21/+8 |
| | |||||
* | util.iterators: Add sorted_pairs() method | Matthew Wild | 2018-09-21 | 1 | -0/+13 |
| | |||||
* | util.jid: Add missing semicolon | Kim Alvefur | 2018-09-21 | 1 | -1/+1 |
| | |||||
* | util.stanza: Don't automatically generate ids for iq stanzas | Matthew Wild | 2018-09-13 | 1 | -9/+4 |
| | | | | | | | | | | Users of this API should provide their own id attribute that meets their uniqueness requirements. The current implementation leaks information (i.e. how many iq stanzas have been sent by the server to other JIDs). Providing any strong guarantees of randomness here would need to pull in additional dependencies that we don't want in this simple library. | ||||
* | util.dataforms: Improve default error message for failed datatype validation | Kim Alvefur | 2018-09-03 | 1 | -1/+1 |
| | |||||
* | util.dataforms: Add support for XEP-0122: Data Forms Validation | Kim Alvefur | 2018-09-01 | 1 | -1/+36 |
| | | | | Initially only basic validation of xs:integer | ||||
* | util.dataforms: Allow field names to be different from the 'var' attribute | Kim Alvefur | 2018-09-01 | 1 | -2/+2 |
| | | | | | | This should allow the usage of long prefixes and namespace-like names to be contained to the XML representation of the form, so that the code can use more convenient names. | ||||
* | util.pubsub: Expand comment on return type from get_items | Kim Alvefur | 2018-09-01 | 1 | -1/+1 |
| | |||||
* | util.pubsub: Explicitly add all capabilities to the 'outcast' affiliation ↵ | Kim Alvefur | 2018-08-31 | 1 | -0/+16 |
| | | | | for completeness | ||||
* | util.pubsub: Comments describing the return values of methods | Kim Alvefur | 2018-08-22 | 1 | -19/+19 |
| | |||||
* | util.pubsub: Add 'service' field to all events | Matthew Wild | 2018-08-27 | 1 | -7/+7 |
| | |||||
* | util.pubsub: Remove unused argument | Kim Alvefur | 2018-08-21 | 1 | -1/+1 |
| | | | | I think this was probably a copy-paste mistake. | ||||
* | util.pubsub: Fire item-published/<node> to allow for easier handling of ↵ | Matthew Wild | 2018-08-19 | 1 | -1/+3 |
| | | | | per-node items | ||||
* | util.stanza + tests: Bail out of loop if we are iterating too far, fixes #981 | Matthew Wild | 2018-08-19 | 1 | -0/+6 |
| | |||||
* | util.startup: Set flag when config fully loaded | Matthew Wild | 2018-08-19 | 1 | -0/+1 |
| | |||||
* | util.pubsub, pubsub.lib: Improve error on attempt to publish invalid item | Matthew Wild | 2018-08-18 | 1 | -1/+1 |
| | |||||
* | Pubsub: Add tests for :get_last_item() and fix for non-persistent nodes | Matthew Wild | 2018-08-18 | 1 | -1/+1 |
| | |||||
* | util.pubsub: Fix whitespace [luacheck] | Matthew Wild | 2018-08-18 | 1 | -1/+1 |
| | |||||
* | Backed out changeset 27d800ddc3b0 (see below) | Matthew Wild | 2018-08-18 | 1 | -2/+2 |
| | | | | | | | | | It's uncertain whether item not existing should be success and nil, or fail with an error. XEP-0060's "fetch most recent item" actually fetches a list of up to N items. N here is a maximum, not a minimum. The feeling is that no items is simply an empty list, not a failure of the operation. | ||||
* | util.pubsub: get_last_item(): Fail with item-not-found if no item yet published | Matthew Wild | 2018-08-18 | 1 | -2/+2 |
| | |||||
* | util.pubsub: get_last_item(): Return error if node does not exist | Matthew Wild | 2018-08-18 | 1 | -0/+6 |
| | |||||
* | pubsub.lib, util.pubsub: Move precondition checks to util.pubsub | Matthew Wild | 2018-08-18 | 1 | -2/+17 |
| | |||||
* | util.pubsub: Add comment to clarify return values | Matthew Wild | 2018-08-18 | 1 | -0/+1 |
| | |||||
* | util.pubsub: Pass "retract" as the type of such broadcasts | Kim Alvefur | 2018-08-16 | 1 | -1/+1 |
| | | | | | | | | This moves some XEP-0060 awkwardness out of util.pubsub and into mod_pubsub A retraction is broadcast in an <items> container, whereas most other kinds of broadcasts are in a container with a name matching the 'kind' attribute. | ||||
* | util.async: Remove sleep function | Kim Alvefur | 2018-08-12 | 1 | -8/+0 |
| | | | | | Dependency on util.timer indirectly caused net.server to be initialized before the config was read, so server_select was always chosen. | ||||
* | util.pubsub: Allow outcasts to get their subscription status | Matthew Wild | 2018-08-12 | 1 | -0/+2 |
| | |||||
* | util.time: Convert to C | Kim Alvefur | 2017-03-09 | 1 | -8/+0 |
| | |||||
* | util.pubsub: For open nodes, default affiliation is "member" | Matthew Wild | 2018-08-09 | 1 | -1/+1 |
| | | | | | | | | | This allows entities without an explicit affiliation to retrieve items, which is specified by the XEP. Table 6: "Node Access Models" states that for 'open' nodes, "any entity may retrieve items from the node". See also discussion at: https://mail.jabber.org/pipermail/standards/2018-August/035320.html | ||||
* | mod_pep, util.pubsub: Rename restricted->outcast, none->member and add new ↵ | Matthew Wild | 2018-08-08 | 1 | -2/+24 |
| | | | | 'none' affiliation to better match XEP-0060 |