Software /
code /
prosody
Annotate
spec/scansion/pubsub_max_items.scs @ 12062:4972244fe87b
mod_smacks: Cancel hibernation when session is closed
To ensure that if a session is replaced after it has gone into
hibernation, it does not come back and cause trouble for the new session
(see previous commit).
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 16 Dec 2021 23:04:50 +0100 |
parent | 11856:14a679588b7b |
child | 12966:7465d3c5679d |
rev | line source |
---|---|
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
1 # Pubsub: Requesting the Most Recent Items (#1608) |
9833 | 2 |
3 [Client] Alice | |
4 jid: admin@localhost | |
5 password: password | |
6 | |
7 --------- | |
8 | |
9 Alice connects | |
10 | |
11 Alice sends: | |
12 <presence xmlns:stream="http://etherx.jabber.org/streams" id=":7IoqYcT3191rfk_dZGo2"/> | |
13 | |
14 Alice receives: | |
15 <presence xmlns:stream="http://etherx.jabber.org/streams" from="${Alice's full JID}" id=":7IoqYcT3191rfk_dZGo2"/> | |
16 | |
17 Alice sends: | |
18 <iq xmlns:stream="http://etherx.jabber.org/streams" to="pubsub.localhost" id=":m0SM8Hn5JxP9BJJ_X4Mz" type="set"> | |
19 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
20 <create node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"/> |
9833 | 21 </pubsub> |
22 </iq> | |
23 | |
24 Alice receives: | |
25 <iq xmlns:stream="http://etherx.jabber.org/streams" to="${Alice's full JID}" from="pubsub.localhost" type="result" id=":m0SM8Hn5JxP9BJJ_X4Mz"/> | |
26 | |
27 Alice sends: | |
28 <iq xmlns:stream="http://etherx.jabber.org/streams" to="pubsub.localhost" id=":gwZgEQmzAHcQz-FZOxi-" type="get"> | |
29 <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
30 <configure node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"/> |
9833 | 31 </pubsub> |
32 </iq> | |
33 | |
34 Alice receives: | |
35 <iq xmlns:stream="http://etherx.jabber.org/streams" to="${Alice's full JID}" from="pubsub.localhost" type="result" id=":gwZgEQmzAHcQz-FZOxi-"> | |
36 <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
37 <configure node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"> |
9833 | 38 <x xmlns="jabber:x:data" type="form"> |
39 <field var="FORM_TYPE" type="hidden"> | |
40 <value>http://jabber.org/protocol/pubsub#node_config</value> | |
41 </field> | |
42 <field var="pubsub#title" label="Title" type="text-single"/> | |
43 <field var="pubsub#description" label="Description" type="text-single"/> | |
44 <field var="pubsub#type" label="The type of node data, usually specified by the namespace of the payload (if any)" type="text-single"/> | |
45 <field var="pubsub#max_items" label="Max # of items to persist" type="text-single"> | |
11855
8890eaa69446
mod_pubsub: Prevent max_items from being set to zero
Kim Alvefur <zash@zash.se>
parents:
11854
diff
changeset
|
46 <validate xmlns="http://jabber.org/protocol/xdata-validate" datatype="pubsub:integer-or-max"> |
11856
14a679588b7b
mod_pubsub,mod_pep: Advertise maximum number of items via XEP-0122
Kim Alvefur <zash@zash.se>
parents:
11855
diff
changeset
|
47 <range min="1" max="256"/> |
11855
8890eaa69446
mod_pubsub: Prevent max_items from being set to zero
Kim Alvefur <zash@zash.se>
parents:
11854
diff
changeset
|
48 </validate> |
9833 | 49 <value>20</value> |
50 </field> | |
51 <field var="pubsub#persist_items" label="Persist items to storage" type="boolean"> | |
11720
72512c0858b3
mod_pubsub: Explicitly enable persistence by default to preserve behavior
Kim Alvefur <zash@zash.se>
parents:
11714
diff
changeset
|
52 <value>1</value> |
9833 | 53 </field> |
54 <field var="pubsub#access_model" label="Specify the subscriber model" type="list-single"> | |
55 <option label="authorize"> | |
56 <value>authorize</value> | |
57 </option> | |
58 <option label="open"> | |
59 <value>open</value> | |
60 </option> | |
61 <option label="presence"> | |
62 <value>presence</value> | |
63 </option> | |
64 <option label="roster"> | |
65 <value>roster</value> | |
66 </option> | |
67 <option label="whitelist"> | |
68 <value>whitelist</value> | |
69 </option> | |
70 <value>open</value> | |
71 </field> | |
72 <field var="pubsub#publish_model" label="Specify the publisher model" type="list-single"> | |
73 <option label="publishers"> | |
74 <value>publishers</value> | |
75 </option> | |
76 <option label="subscribers"> | |
77 <value>subscribers</value> | |
78 </option> | |
79 <option label="open"> | |
80 <value>open</value> | |
81 </option> | |
82 <value>publishers</value> | |
83 </field> | |
11854
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
84 <field type='list-single' var='pubsub#send_last_published_item'> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
85 <option label='never'> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
86 <value>never</value> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
87 </option> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
88 <option label='on_sub'> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
89 <value>on_sub</value> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
90 </option> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
91 <option label='on_sub_and_presence'> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
92 <value>on_sub_and_presence</value> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
93 </option> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
94 <value>never</value> |
b605cbd5f13b
mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436
Kim Alvefur <zash@zash.se>
parents:
11768
diff
changeset
|
95 </field> |
9833 | 96 <field var="pubsub#deliver_notifications" label="Whether to deliver event notifications" type="boolean"> |
97 <value>1</value> | |
98 </field> | |
99 <field var="pubsub#deliver_payloads" label="Whether to deliver payloads with event notifications" type="boolean"> | |
100 <value>1</value> | |
101 </field> | |
102 <field var="pubsub#notification_type" label="Specify the delivery style for notifications" type="list-single"> | |
103 <option label="Messages of type normal"> | |
104 <value>normal</value> | |
105 </option> | |
106 <option label="Messages of type headline"> | |
107 <value>headline</value> | |
108 </option> | |
109 <value>headline</value> | |
110 </field> | |
111 <field var="pubsub#notify_delete" label="Whether to notify subscribers when the node is deleted" type="boolean"> | |
112 <value>1</value> | |
113 </field> | |
114 <field var="pubsub#notify_retract" label="Whether to notify subscribers when items are removed from the node" type="boolean"> | |
115 <value>1</value> | |
116 </field> | |
117 </x> | |
118 </configure> | |
119 </pubsub> | |
120 </iq> | |
121 | |
122 Alice sends: | |
123 <iq xmlns:stream="http://etherx.jabber.org/streams" to="pubsub.localhost" id=":pfWBQ2MNIq8ieul57Qp7" type="set"> | |
124 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
125 <publish node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"> |
9833 | 126 <item id="20e9eb9e-8acb-436e-a486-40e80400faf1"> |
127 <foo xmlns="https://zombofant.net/xmlns/aioxmpp#test">foo</foo> | |
128 </item> | |
129 </publish> | |
130 </pubsub> | |
131 </iq> | |
132 | |
133 Alice receives: | |
134 <iq xmlns:stream="http://etherx.jabber.org/streams" to="${Alice's full JID}" from="pubsub.localhost" type="result" id=":pfWBQ2MNIq8ieul57Qp7"> | |
135 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
136 <publish node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"> |
9833 | 137 <item id="20e9eb9e-8acb-436e-a486-40e80400faf1"/> |
138 </publish> | |
139 </pubsub> | |
140 </iq> | |
141 | |
142 Alice sends: | |
143 <iq xmlns:stream="http://etherx.jabber.org/streams" to="pubsub.localhost" id=":Q5TLT6nsW0HHdkDgrPPe" type="set"> | |
144 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
145 <publish node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"> |
9833 | 146 <item id="4b94623d-1127-41c0-ac47-e283fd890557"> |
147 <foo xmlns="https://zombofant.net/xmlns/aioxmpp#test">bar</foo> | |
148 </item> | |
149 </publish> | |
150 </pubsub> | |
151 </iq> | |
152 | |
153 Alice receives: | |
154 <iq xmlns:stream="http://etherx.jabber.org/streams" to="${Alice's full JID}" from="pubsub.localhost" type="result" id=":Q5TLT6nsW0HHdkDgrPPe"> | |
155 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
156 <publish node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"> |
9833 | 157 <item id="4b94623d-1127-41c0-ac47-e283fd890557"/> |
158 </publish> | |
159 </pubsub> | |
160 </iq> | |
161 | |
162 Alice sends: | |
163 <iq xmlns:stream="http://etherx.jabber.org/streams" to="pubsub.localhost" id=":3nvB2E20p1iuM6lOPaP6" type="get"> | |
164 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
165 <items node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06" max_items="1"/> |
9833 | 166 </pubsub> |
167 </iq> | |
168 | |
169 Alice receives: | |
170 <iq xmlns:stream="http://etherx.jabber.org/streams" to="${Alice's full JID}" from="pubsub.localhost" type="result" id=":3nvB2E20p1iuM6lOPaP6"> | |
171 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
172 <items node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"> |
11714
d783716103c1
mod_pubsub: Fix inclusion of publisher (fixes #1399)
Kim Alvefur <zash@zash.se>
parents:
11631
diff
changeset
|
173 <item publisher="${Alice's JID}" xmlns="http://jabber.org/protocol/pubsub" id="4b94623d-1127-41c0-ac47-e283fd890557"> |
9833 | 174 <foo xmlns="https://zombofant.net/xmlns/aioxmpp#test">bar</foo> |
175 </item> | |
176 </items> | |
177 </pubsub> | |
178 </iq> | |
179 | |
180 Alice sends: | |
181 <iq xmlns:stream="http://etherx.jabber.org/streams" to="pubsub.localhost" id=":XQdyK54iyOKiJvUoX9t_" type="get"> | |
182 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
183 <items node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"/> |
9833 | 184 </pubsub> |
185 </iq> | |
186 | |
187 Alice receives: | |
188 <iq xmlns:stream="http://etherx.jabber.org/streams" to="${Alice's full JID}" from="pubsub.localhost" type="result" id=":XQdyK54iyOKiJvUoX9t_"> | |
189 <pubsub xmlns="http://jabber.org/protocol/pubsub"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
190 <items node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"> |
11714
d783716103c1
mod_pubsub: Fix inclusion of publisher (fixes #1399)
Kim Alvefur <zash@zash.se>
parents:
11631
diff
changeset
|
191 <item xmlns="http://jabber.org/protocol/pubsub" publisher="${Alice's JID}" id="20e9eb9e-8acb-436e-a486-40e80400faf1"> |
9833 | 192 <foo xmlns="https://zombofant.net/xmlns/aioxmpp#test">foo</foo> |
193 </item> | |
11714
d783716103c1
mod_pubsub: Fix inclusion of publisher (fixes #1399)
Kim Alvefur <zash@zash.se>
parents:
11631
diff
changeset
|
194 <item xmlns="http://jabber.org/protocol/pubsub" publisher="${Alice's JID}" id="4b94623d-1127-41c0-ac47-e283fd890557"> |
9833 | 195 <foo xmlns="https://zombofant.net/xmlns/aioxmpp#test">bar</foo> |
196 </item> | |
197 </items> | |
198 </pubsub> | |
199 </iq> | |
200 | |
201 Alice sends: | |
202 <iq xmlns:stream="http://etherx.jabber.org/streams" to="pubsub.localhost" id=":ySGQOz5tnyWT82idwJZP" type="set"> | |
203 <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> | |
11768
aa6ab07544c2
mod_pubsub: Add support for limiting result size #1608
Kim Alvefur <zash@zash.se>
parents:
11720
diff
changeset
|
204 <delete node="5549ea47-ea53-4cc1-9e7c-37842fe4bc06"/> |
9833 | 205 </pubsub> |
206 </iq> | |
207 | |
208 Alice receives: | |
209 <iq xmlns:stream="http://etherx.jabber.org/streams" to="${Alice's full JID}" from="pubsub.localhost" type="result" id=":ySGQOz5tnyWT82idwJZP"/> | |
210 |