| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Reduces duplication and need to edit in two places when adding another
metadata field.
|
|
|
|
|
| |
No longer bypasses access control to retrieve this config subset, which
is also explicitly named in the service config now.
|
|
|
|
|
|
|
|
|
| |
Removes dependency on util.error from util.pubsub which was only used
for this one special case.
Line count reduction!
Would be even nicer if templating could be done by util.error itself.
|
|
|
|
| |
Sometimes it is useful to pass additional information along.
|
|
|
|
|
|
|
|
|
|
| |
This is what util.error was made for!
This replaces the custom error stanza builder with common code in
util.stanza that knows enough about util.error and namespaced errors.
Some awkwardness remains in the way util.pubsub returns conflicting
form fields.
|
|
|
|
|
|
|
| |
Allows e.g. restricting your vcard4 to only family or similar.
Notes: This does not include roster groups in the configuration form,
so the client will have to get them from the actual roster.
|
|\ |
|
| |
| |
| |
| | |
Fixes use in PEP where the JID does not equal the bare domain.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This matches ejabberd's behaviour, using the 'pubsub#itemreply' config option.
Although the current definition of this option in the specification is not
as clear as it could be, I think matching what existing deployments do is the
best option to resolve the ambiguity and reduce fragmentation.
We should update the spec to be clearer about how to use and interpret this
option.
The 'expose_publisher' option for mod_pubsub is now an override (always expose
or never expose). If unset, it will use the per-node config (which defaults to
not exposing).
Thanks to Link Mauve, edhelas and goffi for sparking this feature.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sometimes you only care about a single attribute, but the child tag
itself may be optional, leading to needing `tag and tag.attr.foo` or
`stanza:find("tag@foo")`.
The `:find()` method is fairly complex, so avoiding it for this kind of
simpler use case is a win.
|
|/ |
|
|
|
|
|
| |
This allows overriding it in cases where it is not equal to module.host,
like say, in mod_pep
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Previously this would return item-not-found, even when you could see the
node in disco#items.
|
|
|
|
|
|
|
| |
Disable persistence instead if no items should be persisted.
XEP-0060 is not entirely clear on what either of those option really
mean.
|
|
|
|
|
|
|
|
| |
Default left as 'never' in mod_pubsub to preserve the previous behavior.
Unclear if this is desirable, but can always be changed later.
In mod_pep this allows turning off the automatic resending of most
recent item.
|
|
|
|
| |
Ref #1643
|
|
|
|
| |
In this case I need them for 227 import/export.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Examples in XEP-0060 suggest that items should be listed in
chronological order, but we get them from the archive in reverse
order.
However when requesting specific items by id the results keep that
order and we don't want to flip it again.
At some point it would likely be best to use the archive API directly
instead of this util.cache-compatible wrapper.
|
| |
|
|
|
|
|
|
| |
XEP-0060 says that this the way to indicate that 'persistent-items' is
unsupported, but doesn't explicitly say if it being disabled in the node
configuration also counts as unsupported.
|
| |
|
| |
|
|
|
|
|
|
| |
Fixes #1643
API change: The argument to archive_itemstore() changes type to integer
|
|
|
|
|
|
|
|
|
| |
XEP-0060 6.2.2
This is a MAY but it makes it nice and symmetric with the subscription
response. Reduces the need to remember which node you unsubscribed from.
Explicit > implicit etc.
|
|
|
|
|
| |
Planning to make this configurable, so good to distinguish it from
future backends.
|
|
|
|
|
| |
'archive' is not a metatable here, so this has no effect. Remove since
apparently nothing depends on this.
|
| |
|
|
|
|
| |
(fixes #1455)
|
|
|
|
|
|
| |
This most likely was copied from the handling of <retract/>, where it actually
is required by the spec (XEP-0060 §7.2.2.1), but this attribute doesn’t exist
for purge.
|
|
|
|
| |
`data` is a stanza and always truthy
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The :data method returns the table holding parsed values always. The
second return value is a table in case some fields had problems.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Initial support was added in d614003a82c1
|
|
|
|
| |
Node metadata in disco initially added in b6cb0a8f75b1
|
| |
|
| |
|