| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
|
|
|
| |
Just adds noise
|
|
|
|
| |
So that the same things happen as when triggered by an outgoing stanza
|
|
|
|
| |
Not exactly the way it was before, but close enough and useful.
|
|
|
|
|
|
| |
Since it changes the state to "flushing" while doing just that.
Attempting to remove the filters from a session that does not have them
should be a safe noop.
|
| |
|
|
|
|
|
| |
Definitely should not be firing an event that triggers like csi-flushing
from which it may make sense to send things, which leads right back here
|
|
|
|
|
|
| |
E.g. mod_smacks could queue an <r>, which would be more likely to be
included in the same write and TCP segment as the previously buffered
data, reducing syscalls and network packets needing to be sent.
|
| |
|
| |
|
|
|
|
|
|
| |
.affiliation
It appears nothing currently uses this field in prosody or prosody-modules
|
| |
|
|
|
|
| |
...and fixing the logic bug that broke everything in the previous commit.
|
|
|
|
| |
data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was originally not done based on my interpretation of XEP-0045. Today's
reading, however, revealed that it actually says the result
> SHOULD contain **at least** a <username/> element
(emphasis mine)
I take this to mean that including a form **is** allowed (and I think this is
sensible). Tigase already includes the form I believe.
I've gated the new behaviour behind a (default off) option, because it hasn't
been tested for compatibility with clients. My primary desire for it is in
Snikket, where the clients will be tested to ensure compatibility with this.
I don't anticipate that (m)any clients would break, so maybe after 0.12 we can
experiment with enabling it by default and eventually remove the option.
|
|
|
|
|
|
| |
arcseconds)
I surmise this can happen in a disconnected/smacks hibernation state.
|
|
|
|
|
|
|
| |
In this case `ret` is a table not containing the node, which makes
pubsub_error_reply() try to get an error template with that `ret` table
as index, which returns a `nil` then passed to table.unpack, which in
turn throws the error.
|
|
|
|
|
| |
The overlapping logic for deletion and password changed has been merged into
a single function.
|
|
|
|
|
| |
Seems more like conventional Lua than passing an empty string to signal
lack of value.
|
|
|
|
|
| |
Makes it so that returning e.g. util.cache :table() produces useful
output, which otherwise would look like empty tables.
|
|
|
|
| |
Avoids ellipsis
|
| |
|
| |
|
|
|
|
|
|
| |
as column
Similar to the earlier view
|
|
|
|
|
|
| |
Nicer and more readable.
Thanks jonas’ and prosody@ for JID length stats to inform column widths.
|
|
|
|
|
| |
Previously this would return item-not-found, even when you could see the
node in disco#items.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Internal use of XEP-0122 to shift the responsibility for converting
numbers to strings.
|
|
|
|
|
| |
Better than duck typing, in case anyone ever passes a non-stanza table
with a 'name' field.
|
|
|
|
|
|
|
| |
`reason` was often a table, so the log said "table: 0xptr" or such.
mod_c2s, mod_bosh etc logs the stream error stanza object, so better do
the same. It would be nicer if this was an util.error object, but that
will have to be a future change.
|
| |
|
|
|
|
|
|
|
| |
If the request fails in the middle then the file~ could be left behind
because no code was invoked to delete it then. This gets rid of it when
the request is removed. It may still be left in case of an unclean
shutdown.
|
|
|
|
|
| |
Labels are supposed to be fixed sets of things, so defined hosts are
okay, but not unknown hosts.
|
|
|
|
|
|
| |
Can't find anything saying anything on whether this is needed or not.
kawaii reported that both Chrome and Firefox complained unless the
header was added to the list of allowed headers.
|
|
|
|
|
|
| |
Clients would generally be using the "max" symbol instead of discovering
this, but this also gets us validation and earlier rejection of out of
bounds values.
|
|
|
|
|
|
|
| |
Disable persistence instead if no items should be persisted.
XEP-0060 is not entirely clear on what either of those option really
mean.
|