| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Before mod_cron this job ran less frequently than the upload removal
job. Running them at the same frequency seems wasteful somehow, plus the
total should not drift away from the true value that fast.
|
| |
|
|
|
|
|
| |
Makes it more generic so new periods (e.g. weekly etc) can be added
easily.
|
| |
|
|
|
|
|
| |
The value needs to be known in order to determine if additional uploads
can be accepted.
|
|
|
|
| |
Passing nil to the metrics system causes errors later.
|
|
|
|
|
| |
Since reply.attr.to will be the .attr.from of the input we can check
this earlier and avoid constructing the reply at all.
|
|
|
|
| |
Did error_reply() not exist when mod_smacks was first created?
|
|
|
|
|
|
| |
Eventually the goal is to have daily tasks run while there is little
activity, but that will vary with the server and the usage patterns of
its users. This is a start anyway.
|
|
|
|
|
| |
Merging those loops removes the miscounting that would occur in case a
file could not be deleted, so no need to limit it to that case.
|
|
|
|
|
|
|
|
| |
Not sure what the benefit of two separate loops was, perhaps reduced
memory usage by allowing archive query state to be garbage collected
before moving on to deleting files. Never measured so probably not so.
This simplifies a bit.
|
|
|
|
|
|
| |
This is probably a bad idea, as files that could not be deleted for some
reason will not be tried again. I was just thinking of what the 'task'
argument could be used for.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
A number of modules now have periodic tasks that need to run, e.g. for
cleaning out old messages or files. This has highlighted a need for
coordinating and optimizing scheduling of such tasks.
|
|
|
|
| |
It dates back to the initial commit in prosody-modules 9a7671720dec
|
|
|
|
| |
Mutating the stanza like this is Really Bad Practice.
|
|
|
|
|
| |
`cached_stanza` can't be falsy because util.stanza.clone() would have
thrown rather than return nil, or `._cached=true` would have.
|
|
|
|
|
| |
Turns out that if you destroy a session from inside prosody, it goes
into hibernation but stays connected and continues processing stanzas.
|
|
|
|
| |
Mostly sorted by name of import (sort -k4) and grouped by kind
|
|
|
|
|
| |
In Lua, every value except `nil` and `false` are considered true in
boolean expressions, even `0` as here, which means this was dead code.
|
|
|
|
|
| |
Non-stanza tables with an 'attr' field might be rare in Prosody, but
better to be Correct
|
|
|
|
|
|
| |
Given that the registry is scoped per user and the module is scoped per
host, there seems no point to checking or storing both username and host
here.
|
| |
|
| |
|
|
|
|
| |
Much cleaner.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Wrong level, missing argument, whatever it was meant to shed light on
has been resolved and forgotten.
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|