| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
To allow modules to do things just before the session is closed. The
'(pre-)resource-unbind' events are fired after the stream is closed,
leaving no way to send something.
|
|
|
|
|
|
|
|
|
|
| |
vim> Change "sevral" to:
1 "several"
2 "sacral"
3 "spiral"
4 "feral"
5 "serial"
jonas’> I choose 4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the connection is closed by the peer, any buffered data is given a
last chance to be sent (see f27b9319e0da). If the connection is Really
closed, no attempt to write will occur, instead epoll will raise the
error flag and :onreadable() will be invoked again, where it will try to
:close() again for the same reason, thus looping until the connection
somehow gets destroyed.
By clearing the _connected flag, the second time it passes :onreadable()
it should go directly to :destroy(), breaking the loop.
Thanks Link Mauve for reporting
|
|
|
|
|
| |
This should skip the summary SQL query when not needed, ie when the
cached value can be used directly.
|
|
|
|
|
| |
Otherwise a query for a set of ids may cause that value to be cached,
despite only covering a subset.
|
|
|
|
|
|
|
| |
jid.join(true, ...) fails.
Since we don't know which users this affects, best to clear the whole
cache.
|
|
|
|
| |
More code, but less of it needs to run and no extra tracking is needed.
|
|
|
|
|
| |
archive_store:delete(true) deletes messages for all users, which would
allow some simplification when this is supported.
|
|
|
|
| |
Seems SC2039 has been replaced, so should be phased out.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Running woken runners in the next iteration of the event loop prevents
unexpected recursion, unexpected tracebacks, and is generally more
predictable.
The pattern is borrowed from util.promise, where we're now doing the same.
|
|
|
|
|
|
|
|
|
| |
No scheduler set by default, so it will error (we plan to initialize it in
util.startup).
We wanted to avoid a hard dependency on util.timer (which in turn depends on
network backends, etc.), and we didn't add timer.sleep() because we didn't
want to add a hard dependency on util.async for things that don't need it.
|
|
|
|
|
| |
Self-closing <tags/> and <?processing instructions?> had some
asymmetries in applied colors.
|
|
|
|
| |
Search for 'Lua 5.1' for reasons.
|
|
|
|
|
| |
I have been running my own server exclusively on Lua 5.4 for months and
apart from packaging issues I remember on major issues.
|
|
|
|
|
|
| |
Currently only supported with OJN
Assumption: the direct_tls_ports are not empty when set.
|
| |
|
|
|
|
| |
Some of these may be debatable, investigation and patches welcome.
|
| |
|
| |
|
|
|
|
|
| |
Wrong level, missing argument, whatever it was meant to shed light on
has been resolved and forgotten.
|
|
|
|
|
| |
Could not reproduce locally but it complained in CI that
> spec/util_promise_spec.lua:676: Cannot spy on type 'nil', only on functions or callable elements
|
|
|
|
| |
It was all of for some reason
|
|
|
|
| |
I've typed `>require"util.async".wait_for(...)` for the last time!
|
| |
|
| |
|
|
|
|
|
| |
'unavailable' was the longest possibility, dropping it probably
differentiates available from unavailable more, in less space.
|
|
|
|
| |
Tricky to represent "secure, but no details" in short enough space.
|
|
|
|
|
| |
Zash notes this seems to have been lost in 1b657605ea29, probably by
mistake.
|
|
|
|
| |
Thanks mod_http_openmetrics
|
|
|
|
|
|
|
|
|
|
|
|
| |
Makes GET /metrics work regardless of the value of the Host header.
This was not possible before 220468f7a103 which added the ability to
have global HTTP modules, which was partly why the per-host part was
kept while the module lived among the community modules.
Another reason was to provide some semblance of security by obscurity by
only loading the module on e.g. a 'localhost' VirtualHost or Component.
The new IP limits obsoletes this.
|
|
|
|
| |
Helps when writing modules in Teal
|
| |
|
| |
|
|
|
|
|
|
| |
Taking advantage of the new callbacks added in dcf38ac6a38c and
9c450185bac1 avoids extra timers, extra syscalls and sending the `<r>`
in its own TCP segment, improving efficiency.
|
|
|
|
|
|
|
|
|
|
| |
The function was too large to comprehend! Breaking it up helps
readability and reuse.
The timer round rip is only to avoid ordering weirdness when sending
from inside a stanza filter. No need when handling <r> and <a>
CSI interactions both boiled down to sending an <r> immediately.
|
|
|
|
|
|
|
| |
module:add_timer() creates a timer that stops working after the module
is reloaded or unloaded, in order to prevent leaks. However, when the
timers control vital session behavior, breakage occurs after reload.
E.g. sessions would stop requesting acks and stop responding to acks.
|
|
|
|
|
|
|
|
| |
Unstoppable stoppable timer compat not needed since 26f54b462601 ca 0.11.0
module:hook_stanza was renamed in 2012
No idea what was going on with the indentation and such
|
| |
|
|
|
|
|
|
|
|
| |
These are RECOMMENDED in XEP-0215 so most likely a mistake if they are
left out.
Of the two REQUIRED fields, 'host' falls back to module.host and 'type'
rejects the whole item.
|
|
|
|
| |
Marginal improvement in readability
|
|
|
|
| |
Lets you know what to look for with stats:show()
|
| |
|
|
|
|
|
|
|
|
|
| |
This version has several changes from the earlier mod_prometheus:
- Conversion of metrics into the text-based OpenMetrics format is moved to
util.openmetrics
- Support for IP-based access control
- Compatibility with earlier Prosody versions removed
|
|
|
|
|
|
| |
Both in the flushing and active states the right thing to do is skip
directly to returning the data. Also in any unknown state, like if the
filter is somehow left behind on module unload.
|
|
|
|
|
| |
Cuts down on log and measurement noise. We only want to do these things
here when initiating a flush.
|
|
|
|
|
|
|
|
|
|
| |
Statistics from my server shows a high rate of very short buffer hold
times, most of which are the result of replies to pings or other iq
traffic, or mod_smacks acks and ack requests just after a flush was
completed.
This grace period should eliminate noise and quick flipping between
flushing and inactive mode.
|
|
|
|
| |
use_ipv6=false
|