Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | util.xpcall, util.compat: Add non-hacky multi-argument xpcall() for Lua 5.1 | Matthew Wild | 2018-10-26 | 1 | -0/+9 |
| | |||||
* | util.dependencies: Remove ztact compatability warning | Matthew Wild | 2018-10-26 | 1 | -13/+0 |
| | |||||
* | util.promise: Switch from pcall to xpcall to get tracebacks on exceptions | Matthew Wild | 2018-10-26 | 1 | -1/+1 |
| | |||||
* | util.promise: Remove the non-standard ability to pass a promise to reject() | Matthew Wild | 2018-10-26 | 1 | -3/+1 |
| | |||||
* | util.promise: Fix missing parameters | Matthew Wild | 2018-10-25 | 1 | -2/+2 |
| | |||||
* | util.promise: Ensure chained promises always receive a value/rejection even ↵ | Matthew Wild | 2018-10-25 | 1 | -22/+23 |
| | | | | if an intermediate promise has no handlers | ||||
* | util.promise: Export is_promise() | Matthew Wild | 2018-10-25 | 1 | -0/+1 |
| | |||||
* | util.promise: Remove debug print and assert | Matthew Wild | 2018-10-25 | 1 | -1/+0 |
| | |||||
* | util.pubsub: Clarify comment about return value | Kim Alvefur | 2018-10-21 | 1 | -1/+1 |
| | |||||
* | 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 |
| |