Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | mod_pubsub: Move precondition error wrangling out of util.pubsub | Kim Alvefur | 4 days | 1 | -3/+4 |
| | | | | | | | | | 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. | ||||
* | mod_pubsub: Allow passing additional error context | Kim Alvefur | 6 days | 1 | -4/+4 |
| | | | | Sometimes it is useful to pass additional information along. | ||||
* | mod_pubsub: Use error registry | Kim Alvefur | 6 days | 1 | -10/+5 |
| | | | | | | | | | | 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. | ||||
* | mod_pep: Implement 'roster' (group) access_model | Kim Alvefur | 2023-12-03 | 1 | -0/+6 |
| | | | | | | | 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. | ||||
* | Merge 0.12->trunk | Kim Alvefur | 2023-07-10 | 1 | -1/+1 |
|\ | |||||
| * | mod_pubsub: Send correct jid attribute in disco#items | Kim Alvefur | 2023-07-08 | 1 | -1/+1 |
| | | | | | | | | Fixes use in PEP where the JID does not equal the bare domain. | ||||
* | | plugins: Prefix module imports with prosody namespace | Kim Alvefur | 2023-03-24 | 1 | -7/+7 |
| | | |||||
* | | mod_pubsub/pubsub.lib: Fix accidental name/var swap (thanks scansion) | Matthew Wild | 2023-03-22 | 1 | -2/+2 |
| | | |||||
* | | mod_pubsub, mod_pep: Support per-node configurable inclusion of publisher | Matthew Wild | 2023-03-22 | 1 | -0/+21 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | | util.stanza: Add method for extracting a single attribute value | Kim Alvefur | 2022-08-17 | 1 | -2/+1 |
| | | | | | | | | | | | | | | | | | | 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. | ||||
* | | compat: Remove handling of Lua 5.1 location of 'unpack' function | Kim Alvefur | 2022-07-11 | 1 | -1/+1 |
|/ | |||||
* | mod_pubsub: Allow specifying the JID of the pubsub service | Kim Alvefur | 2021-12-07 | 1 | -1/+1 |
| | | | | | This allows overriding it in cases where it is not equal to module.host, like say, in mod_pep | ||||
* | mod_pubsub: Fix traceback in disco of non-existent node (thanks Martin) | Kim Alvefur | 2021-11-13 | 1 | -2/+6 |
| | | | | | | | 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. | ||||
* | mod_pubsub: Return proper errors for disco queries on nodes | Kim Alvefur | 2021-11-01 | 1 | -2/+4 |
| | | | | | Previously this would return item-not-found, even when you could see the node in disco#items. | ||||
* | mod_pubsub: Prevent max_items from being set to zero | Kim Alvefur | 2021-10-20 | 1 | -0/+1 |
| | | | | | | | Disable persistence instead if no items should be persisted. XEP-0060 is not entirely clear on what either of those option really mean. | ||||
* | mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436 | Kim Alvefur | 2021-10-19 | 1 | -0/+16 |
| | | | | | | | | 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. | ||||
* | mod_pubsub: Advertise support for 'max' as value for max_items | Kim Alvefur | 2021-09-15 | 1 | -0/+4 |
| | | | | Ref #1643 | ||||
* | mod_pubsub/pubsub.lib: Export config forms for use by other modules | Matthew Wild | 2021-09-11 | 1 | -0/+3 |
| | | | | In this case I need them for 227 import/export. | ||||
* | mod_pubsub: Move reversal of item order in <items> | Kim Alvefur | 2021-09-05 | 1 | -3/+9 |
| | | | | | | | | | | | | 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. | ||||
* | mod_pubsub: Add support for limiting result size #1608 | Kim Alvefur | 2021-09-05 | 1 | -1/+5 |
| | |||||
* | util.pubsub: Signal that 'persistent-items' is unsupported when disabled | Kim Alvefur | 2021-07-22 | 1 | -0/+1 |
| | | | | | | 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. | ||||
* | mod_pubsub: Respect 'expose publisher' setting in item retrieval | Kim Alvefur | 2021-07-25 | 1 | -1/+8 |
| | |||||
* | mod_pubsub: Fix inclusion of publisher (fixes #1399) | Kim Alvefur | 2019-05-01 | 1 | -2/+5 |
| | |||||
* | mod_pubsub,mod_pep: Support "max" as 'pubsub#max_items' | Kim Alvefur | 2021-06-09 | 1 | -4/+3 |
| | | | | | | Fixes #1643 API change: The argument to archive_itemstore() changes type to integer | ||||
* | mod_pubsub: Include <pubsub> with unsubscribe reply | Kim Alvefur | 2021-03-15 | 1 | -1/+7 |
| | | | | | | | | | 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. | ||||
* | mod_pubsub: Clarify kind of item store created | Kim Alvefur | 2020-10-25 | 1 | -1/+1 |
| | | | | | Planning to make this configurable, so good to distinguish it from future backends. | ||||
* | mod_pubsub: Don't set store as metatable | Kim Alvefur | 2020-10-25 | 1 | -1/+1 |
| | | | | | 'archive' is not a metatable here, so this has no effect. Remove since apparently nothing depends on this. | ||||
* | mod_pubsub: Ignore an unused variable [luacheck] | Kim Alvefur | 2019-12-23 | 1 | -0/+1 |
| | |||||
* | util.pubsub, pubsub.lib and tests: Add text to precondition-not-met error ↵ | Matthew Wild | 2019-10-27 | 1 | -0/+4 |
| | | | | (fixes #1455) | ||||
* | mod_pubsub: Remove the unwanted check for @notify on <purge/>. | Emmanuel Gil Peyrot | 2019-09-28 | 1 | -3/+2 |
| | | | | | | 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. | ||||
* | mod_pubsub: Eliminate dead code | Kim Alvefur | 2019-07-25 | 1 | -8/+3 |
| | | | | `data` is a stanza and always truthy | ||||
* | mod_pubsub: Expose pubsub#access_model and pubsub#publish_model (fixes #1387) | Kim Alvefur | 2019-07-06 | 1 | -0/+10 |
| | |||||
* | mod_pubsub: Support requests for multiple items (fixes #1305) | Kim Alvefur | 2019-01-28 | 1 | -3/+9 |
| | |||||
* | mod_pubsub: Exclude value of FORM_TYPE from stored data | Kim Alvefur | 2018-09-07 | 1 | -3/+3 |
| | |||||
* | mod_pubsub: Fix dataforms error handling | Kim Alvefur | 2018-09-01 | 1 | -8/+27 |
| | | | | | The :data method returns the table holding parsed values always. The second return value is a table in case some fields had problems. | ||||
* | mod_pubsub: Use dataforms validation to specify that max_items is an integer | Kim Alvefur | 2018-09-01 | 1 | -0/+1 |
| | |||||
* | mod_pubsub: Use field mapping in util.dataforms | Kim Alvefur | 2018-09-01 | 1 | -75/+30 |
| | |||||
* | mod_pubsub: Preserve current subscription options if given a partial form | Kim Alvefur | 2018-08-31 | 1 | -1/+2 |
| | |||||
* | mod_pubsub: Add missing default value for deliver_payloads | Kim Alvefur | 2018-08-19 | 1 | -0/+1 |
| | |||||
* | mod_pubsub: Fix boolean value in form | Kim Alvefur | 2018-08-19 | 1 | -1/+1 |
| | |||||
* | mod_pubsub: Add a semicolon for consistency | Kim Alvefur | 2018-08-19 | 1 | -1/+1 |
| | |||||
* | util.pubsub, pubsub.lib: Improve error on attempt to publish invalid item | Matthew Wild | 2018-08-18 | 1 | -0/+1 |
| | |||||
* | Pubsub: Add tests for :get_last_item() and fix for non-persistent nodes | Matthew Wild | 2018-08-18 | 1 | -2/+2 |
| | |||||
* | pubsub.lib, util.pubsub: Move precondition checks to util.pubsub | Matthew Wild | 2018-08-18 | 1 | -31/+3 |
| | |||||
* | mod_pubsub: Advertise support for subscription-options | Kim Alvefur | 2018-08-18 | 1 | -1/+1 |
| | | | | Initial support was added in d614003a82c1 | ||||
* | mod_pubsub: Advertise support for node meta-data | Kim Alvefur | 2018-08-18 | 1 | -1/+1 |
| | | | | Node metadata in disco initially added in b6cb0a8f75b1 | ||||
* | mod_pubsub: Add support for thin notifications (without the full payload) | Kim Alvefur | 2018-08-16 | 1 | -0/+7 |
| | |||||
* | mod_pubsub: Use the correct form field | Kim Alvefur | 2018-08-16 | 1 | -3/+3 |
| | |||||
* | mod_pubsub: Specify defaults for notification settings | Kim Alvefur | 2018-08-16 | 1 | -0/+3 |
| | |||||
* | mod_pubsub: Make notification of item retraction configurable | Kim Alvefur | 2018-08-16 | 1 | -0/+7 |
| |