| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Simplifies access to the cache without moving code around a lot given
the currently common pattern of
local some_cache = cache.new(size, function(k,v) end)
|
|
|
|
|
| |
Previously either the old or the new values would be rejected, even if
the cache was resized to allow more items.
|
|
|
|
| |
These are gathered into arrays
|
|
|
|
|
|
|
| |
Why was the test data not in chronological order?
Altho, maybe that was the point? Except for MAM, the data might *not* be
in chronological order!
|
|
|
|
|
|
|
|
| |
Standardized and structured replacement for the X-Forwarded-For,
X-Forwarded-Proto set of headers.
Notably, this allows per-hop protocol information, unlike
X-Forwarded-Proto which is always a single value for some reason.
|
| |
|
|
|
|
| |
A test case was added in the middle, so all these need to be reordered.
|
| |
|
| |
|
|
|
|
|
|
| |
This doesn't fail because of additionalProperties, looks more like some
issue with recursive definitions and util.jsonpointer that I don't want
feel like investigating now.
|
| |
|
|
|
|
| |
Checks that it doesn't fail on a stanza without <error> tag
|
|
|
|
|
| |
Similar logic occurs throughout various modules in the codebase. We might even
want a module:get_option_duration()??
|
|
|
|
|
|
|
|
|
|
| |
With monotonic() frozen, timers may fail to trigger. This caused problems
after the new util.startup changes that moved the server-started event to a
timer. The timer wouldn't trigger, the event didn't fire, and prosody would
fail to daemonize.
All the tests that depend on specific time behaviour are depending on wall
clock time, so only mocking util.time.now() and os.time() fixes those.
|
| |
|
|
|
|
|
| |
If this object key exists then this schema must validate against the
current object. Seems useful.
|
|
|
|
| |
If this field exists, then these fields must also exist.
|
| |
|
| |
|
|
|
|
|
|
|
| |
I plan to introduce logic to "reset" the server between individual tests,
which is currently triggered by the lack of any connections. This is the only
test that has a point where no clients are connected, and it's not necessary,
so I changed it to keep the connection open for the duration of the test.
|
|
|
|
| |
This is a newly added field, and we expect to see it in these places now.
|
|
|
|
|
| |
publisher is no longer included by default in broadcasts, but configured via
pubsub#itemreply instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous behaviour:
- publisher was always included in PEP notifications
- publisher was never included in get_items requests
New behaviour:
- publisher is included in both notifications and retrieval if
itemreply == publisher
- publisher is not ever included if itemreply ~= publisher
|
|
|
|
|
|
|
|
| |
This combines the two most common store types, which modules often end up
opening with both interfaces separately anyway.
As well as combining them, I've taken the opportunity to improve some of the
method names to make them clearer.
|
|
|
|
| |
Absolute references, weird fractions, unevaluatedProperties???
|
|
|
|
| |
These seem to be using absolute URI references, Not Yet Implemented
|
| |
|
| |
|
|\ |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| | |
This ensures that we support responses without a content-length header, and
allow streaming them through the streaming handler interface. An example of
such a response would be Server-Sent Events streams.
|
| | |
|
| | |
|
| |
| |
| |
| | |
This is required by PASETO v3.local
|
| |
| |
| |
| | |
These are needed for PASETO v3.local.
|
| |
| |
| |
| |
| | |
Don't need the function, more compact to just reference the same
reference table.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In this API, a 'node' is always a simple text string. Sometimes the caller may
have a more complex structure representing a node, but the hash ring is really
only concerned with the node's name.
This API change allows :add_nodes() to take a table of `node_name = value`
pairs, as well as the simple array of node names previously accepted.
The 'value' of the selected node is returned as a new second result from
:get_node().
If no value is passed when a node is added, it defaults to `true` (as before,
but this was never previously exposed).
|
| |
| |
| |
| | |
sequential style
|
|\| |
|
| | |
|
| |
| |
| |
| | |
Result of mutation testing. One mutant remaining.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Result of mutation testing
Remaining mutants are mostly relating to the math.type() fallback.
Another case being that array[#array+1] == array[#array+2] and thus
doesn't matter.
|
| |
| |
| |
| | |
Found via mutation testing.
|
| | |
|
| |
| |
| |
| | |
(98% mutant score, single remaining mutant is a string.sub equivalent)
|
| |
| |
| |
| | |
Found via mutation testing.
|
|\| |
|
| |
| |
| |
| | |
Also touching on how arrays are indistinguishable from tables in Lua
|