slidge 0.2.10__tar.gz → 0.2.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. {slidge-0.2.10 → slidge-0.2.12}/PKG-INFO +1 -1
  2. {slidge-0.2.10 → slidge-0.2.12}/slidge/__init__.py +0 -1
  3. {slidge-0.2.10 → slidge-0.2.12}/slidge/group/room.py +6 -1
  4. {slidge-0.2.10 → slidge-0.2.12}/slidge/main.py +1 -1
  5. {slidge-0.2.10 → slidge-0.2.12}/slidge.egg-info/PKG-INFO +1 -1
  6. {slidge-0.2.10 → slidge-0.2.12}/tests/test_muc.py +76 -0
  7. {slidge-0.2.10 → slidge-0.2.12}/.gitignore +0 -0
  8. {slidge-0.2.10 → slidge-0.2.12}/.pre-commit-config.yaml +0 -0
  9. {slidge-0.2.10 → slidge-0.2.12}/.woodpecker/container-ci.yaml +0 -0
  10. {slidge-0.2.10 → slidge-0.2.12}/.woodpecker/docs.yaml +0 -0
  11. {slidge-0.2.10 → slidge-0.2.12}/.woodpecker/package.yaml +0 -0
  12. {slidge-0.2.10 → slidge-0.2.12}/.woodpecker/test.yaml +0 -0
  13. {slidge-0.2.10 → slidge-0.2.12}/Dockerfile +0 -0
  14. {slidge-0.2.10 → slidge-0.2.12}/LICENSE +0 -0
  15. {slidge-0.2.10 → slidge-0.2.12}/README.md +0 -0
  16. {slidge-0.2.10 → slidge-0.2.12}/commitlint.config.js +0 -0
  17. {slidge-0.2.10 → slidge-0.2.12}/dev/assets/5x5.png +0 -0
  18. {slidge-0.2.10 → slidge-0.2.12}/dev/assets/slidge-color-small.png +0 -0
  19. {slidge-0.2.10 → slidge-0.2.12}/dev/assets/slidge-color.png +0 -0
  20. {slidge-0.2.10 → slidge-0.2.12}/dev/assets/slidge-mono-black.png +0 -0
  21. {slidge-0.2.10 → slidge-0.2.12}/dev/assets/slidge-mono-white.png +0 -0
  22. {slidge-0.2.10 → slidge-0.2.12}/dev/assets/slidge.svg +0 -0
  23. {slidge-0.2.10 → slidge-0.2.12}/dev/confs/movim.env +0 -0
  24. {slidge-0.2.10 → slidge-0.2.12}/dev/confs/nginx.conf +0 -0
  25. {slidge-0.2.10 → slidge-0.2.12}/dev/confs/slidge-dev.ini +0 -0
  26. {slidge-0.2.10 → slidge-0.2.12}/dev/confs/slidge-example.ini +0 -0
  27. {slidge-0.2.10 → slidge-0.2.12}/dev/hot-reload.sh +0 -0
  28. {slidge-0.2.10 → slidge-0.2.12}/dev/prettify_tests.py +0 -0
  29. {slidge-0.2.10 → slidge-0.2.12}/doap.xml +0 -0
  30. {slidge-0.2.10 → slidge-0.2.12}/docker-compose.yml +0 -0
  31. {slidge-0.2.10 → slidge-0.2.12}/docs/Makefile +0 -0
  32. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/attachments.rst +0 -0
  33. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/component.rst +0 -0
  34. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/config/index.rst +0 -0
  35. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/daemon.rst +0 -0
  36. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/examples/ejabberd.yaml +0 -0
  37. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/examples/index.rst +0 -0
  38. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/examples/prosody.cfg.lua +0 -0
  39. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/index.rst +0 -0
  40. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/install.rst +0 -0
  41. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/note.rst +0 -0
  42. {slidge-0.2.10 → slidge-0.2.12}/docs/source/admin/privilege.rst +0 -0
  43. {slidge-0.2.10 → slidge-0.2.12}/docs/source/codeberg.svg +0 -0
  44. {slidge-0.2.10 → slidge-0.2.12}/docs/source/conf.py +0 -0
  45. {slidge-0.2.10 → slidge-0.2.12}/docs/source/dev/contributing.rst +0 -0
  46. {slidge-0.2.10 → slidge-0.2.12}/docs/source/dev/design.rst +0 -0
  47. {slidge-0.2.10 → slidge-0.2.12}/docs/source/dev/howto.rst +0 -0
  48. {slidge-0.2.10 → slidge-0.2.12}/docs/source/dev/index.rst +0 -0
  49. {slidge-0.2.10 → slidge-0.2.12}/docs/source/dev/tutorial.rst +0 -0
  50. {slidge-0.2.10 → slidge-0.2.12}/docs/source/glossary.rst +0 -0
  51. {slidge-0.2.10 → slidge-0.2.12}/docs/source/index.rst +0 -0
  52. {slidge-0.2.10 → slidge-0.2.12}/docs/source/user/commands.rst +0 -0
  53. {slidge-0.2.10 → slidge-0.2.12}/docs/source/user/contacts.rst +0 -0
  54. {slidge-0.2.10 → slidge-0.2.12}/docs/source/user/foxyproxy.png +0 -0
  55. {slidge-0.2.10 → slidge-0.2.12}/docs/source/user/gajim.png +0 -0
  56. {slidge-0.2.10 → slidge-0.2.12}/docs/source/user/index.rst +0 -0
  57. {slidge-0.2.10 → slidge-0.2.12}/docs/source/user/low_profile.rst +0 -0
  58. {slidge-0.2.10 → slidge-0.2.12}/docs/source/user/movim1.png +0 -0
  59. {slidge-0.2.10 → slidge-0.2.12}/docs/source/user/movim2.png +0 -0
  60. {slidge-0.2.10 → slidge-0.2.12}/docs/source/user/note.rst +0 -0
  61. {slidge-0.2.10 → slidge-0.2.12}/docs/source/user/register.rst +0 -0
  62. {slidge-0.2.10 → slidge-0.2.12}/pyproject.toml +0 -0
  63. {slidge-0.2.10 → slidge-0.2.12}/setup.cfg +0 -0
  64. {slidge-0.2.10 → slidge-0.2.12}/slidge/__main__.py +0 -0
  65. {slidge-0.2.10 → slidge-0.2.12}/slidge/command/__init__.py +0 -0
  66. {slidge-0.2.10 → slidge-0.2.12}/slidge/command/adhoc.py +0 -0
  67. {slidge-0.2.10 → slidge-0.2.12}/slidge/command/admin.py +0 -0
  68. {slidge-0.2.10 → slidge-0.2.12}/slidge/command/base.py +0 -0
  69. {slidge-0.2.10 → slidge-0.2.12}/slidge/command/categories.py +0 -0
  70. {slidge-0.2.10 → slidge-0.2.12}/slidge/command/chat_command.py +0 -0
  71. {slidge-0.2.10 → slidge-0.2.12}/slidge/command/register.py +0 -0
  72. {slidge-0.2.10 → slidge-0.2.12}/slidge/command/user.py +0 -0
  73. {slidge-0.2.10 → slidge-0.2.12}/slidge/contact/__init__.py +0 -0
  74. {slidge-0.2.10 → slidge-0.2.12}/slidge/contact/contact.py +0 -0
  75. {slidge-0.2.10 → slidge-0.2.12}/slidge/contact/roster.py +0 -0
  76. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/__init__.py +0 -0
  77. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/config.py +0 -0
  78. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/__init__.py +0 -0
  79. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/caps.py +0 -0
  80. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/disco.py +0 -0
  81. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/message/__init__.py +0 -0
  82. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/message/chat_state.py +0 -0
  83. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/message/marker.py +0 -0
  84. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/message/message.py +0 -0
  85. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/muc/__init__.py +0 -0
  86. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/muc/admin.py +0 -0
  87. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/muc/mam.py +0 -0
  88. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/muc/misc.py +0 -0
  89. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/muc/owner.py +0 -0
  90. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/muc/ping.py +0 -0
  91. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/presence.py +0 -0
  92. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/registration.py +0 -0
  93. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/search.py +0 -0
  94. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/session_dispatcher.py +0 -0
  95. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/util.py +0 -0
  96. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/dispatcher/vcard.py +0 -0
  97. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/gateway.py +0 -0
  98. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/__init__.py +0 -0
  99. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/attachment.py +0 -0
  100. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/avatar.py +0 -0
  101. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/base.py +0 -0
  102. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/db.py +0 -0
  103. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/disco.py +0 -0
  104. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/lock.py +0 -0
  105. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/message.py +0 -0
  106. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/message_maker.py +0 -0
  107. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/message_text.py +0 -0
  108. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/presence.py +0 -0
  109. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/mixins/recipient.py +0 -0
  110. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/pubsub.py +0 -0
  111. {slidge-0.2.10 → slidge-0.2.12}/slidge/core/session.py +0 -0
  112. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/__init__.py +0 -0
  113. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/__init__.py +0 -0
  114. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/env.py +0 -0
  115. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/script.py.mako +0 -0
  116. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/04cf35e3cf85_add_participant_nickname_no_illegal.py +0 -0
  117. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/09f27f098baa_add_missing_attributes_in_room.py +0 -0
  118. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/15b0bd83407a_remove_bogus_unique_constraints_on_room_.py +0 -0
  119. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/2461390c0af2_store_contacts_caps_verstring_in_db.py +0 -0
  120. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/29f5280c61aa_store_subject_setter_in_room.py +0 -0
  121. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/2b1f45ab7379_store_room_subject_setter_by_nickname.py +0 -0
  122. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/3071e0fa69d4_add_contact_client_type.py +0 -0
  123. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/45c24cc73c91_add_bob.py +0 -0
  124. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/5bd48bfdffa2_lift_room_legacy_id_constraint.py +0 -0
  125. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/82a4af84b679_add_muc_history_filled.py +0 -0
  126. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/8b993243a536_add_vcard_content_to_contact_table.py +0 -0
  127. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_.py +0 -0
  128. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/aa9d82a7f6ef_db_creation.py +0 -0
  129. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/abba1ae0edb3_store_avatar_legacy_id_in_the_contact_.py +0 -0
  130. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/b33993e87db3_move_everything_to_persistent_db.py +0 -0
  131. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/b64b1a793483_add_source_and_legacy_id_for_archived_.py +0 -0
  132. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/c4a8ec35a0e8_per_room_user_nick.py +0 -0
  133. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/alembic/versions/e91195719c2c_store_users_avatars_persistently.py +0 -0
  134. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/avatar.py +0 -0
  135. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/meta.py +0 -0
  136. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/models.py +0 -0
  137. {slidge-0.2.10 → slidge-0.2.12}/slidge/db/store.py +0 -0
  138. {slidge-0.2.10 → slidge-0.2.12}/slidge/group/__init__.py +0 -0
  139. {slidge-0.2.10 → slidge-0.2.12}/slidge/group/archive.py +0 -0
  140. {slidge-0.2.10 → slidge-0.2.12}/slidge/group/bookmarks.py +0 -0
  141. {slidge-0.2.10 → slidge-0.2.12}/slidge/group/participant.py +0 -0
  142. {slidge-0.2.10 → slidge-0.2.12}/slidge/migration.py +0 -0
  143. {slidge-0.2.10 → slidge-0.2.12}/slidge/py.typed +0 -0
  144. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/__init__.py +0 -0
  145. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/delivery_receipt.py +0 -0
  146. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/link_preview/__init__.py +0 -0
  147. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/link_preview/link_preview.py +0 -0
  148. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/link_preview/stanza.py +0 -0
  149. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/roster.py +0 -0
  150. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/xep_0077/__init__.py +0 -0
  151. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/xep_0077/register.py +0 -0
  152. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/xep_0077/stanza.py +0 -0
  153. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/xep_0100/__init__.py +0 -0
  154. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/xep_0100/gateway.py +0 -0
  155. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/xep_0100/stanza.py +0 -0
  156. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/xep_0153/__init__.py +0 -0
  157. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/xep_0153/vcard_avatar.py +0 -0
  158. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/xep_0292/__init__.py +0 -0
  159. {slidge-0.2.10 → slidge-0.2.12}/slidge/slixfix/xep_0292/vcard4.py +0 -0
  160. {slidge-0.2.10 → slidge-0.2.12}/slidge/util/__init__.py +0 -0
  161. {slidge-0.2.10 → slidge-0.2.12}/slidge/util/archive_msg.py +0 -0
  162. {slidge-0.2.10 → slidge-0.2.12}/slidge/util/conf.py +0 -0
  163. {slidge-0.2.10 → slidge-0.2.12}/slidge/util/jid_escaping.py +0 -0
  164. {slidge-0.2.10 → slidge-0.2.12}/slidge/util/test.py +0 -0
  165. {slidge-0.2.10 → slidge-0.2.12}/slidge/util/types.py +0 -0
  166. {slidge-0.2.10 → slidge-0.2.12}/slidge/util/util.py +0 -0
  167. {slidge-0.2.10 → slidge-0.2.12}/slidge.egg-info/SOURCES.txt +0 -0
  168. {slidge-0.2.10 → slidge-0.2.12}/slidge.egg-info/dependency_links.txt +0 -0
  169. {slidge-0.2.10 → slidge-0.2.12}/slidge.egg-info/entry_points.txt +0 -0
  170. {slidge-0.2.10 → slidge-0.2.12}/slidge.egg-info/requires.txt +0 -0
  171. {slidge-0.2.10 → slidge-0.2.12}/slidge.egg-info/top_level.txt +0 -0
  172. {slidge-0.2.10 → slidge-0.2.12}/superduper/__init__.py +0 -0
  173. {slidge-0.2.10 → slidge-0.2.12}/superduper/__main__.py +0 -0
  174. {slidge-0.2.10 → slidge-0.2.12}/superduper/contact.py +0 -0
  175. {slidge-0.2.10 → slidge-0.2.12}/superduper/gateway.py +0 -0
  176. {slidge-0.2.10 → slidge-0.2.12}/superduper/group.py +0 -0
  177. {slidge-0.2.10 → slidge-0.2.12}/superduper/legacy_client.py +0 -0
  178. {slidge-0.2.10 → slidge-0.2.12}/superduper/session.py +0 -0
  179. {slidge-0.2.10 → slidge-0.2.12}/superduper/util.py +0 -0
  180. {slidge-0.2.10 → slidge-0.2.12}/tests/conftest.py +0 -0
  181. {slidge-0.2.10 → slidge-0.2.12}/tests/test_adhoc/test_access.py +0 -0
  182. {slidge-0.2.10 → slidge-0.2.12}/tests/test_adhoc/test_confirmation.py +0 -0
  183. {slidge-0.2.10 → slidge-0.2.12}/tests/test_adhoc/test_form.py +0 -0
  184. {slidge-0.2.10 → slidge-0.2.12}/tests/test_adhoc/test_reported.py +0 -0
  185. {slidge-0.2.10 → slidge-0.2.12}/tests/test_attachment.py +0 -0
  186. {slidge-0.2.10 → slidge-0.2.12}/tests/test_avatar.py +0 -0
  187. {slidge-0.2.10 → slidge-0.2.12}/tests/test_backfill.py +0 -0
  188. {slidge-0.2.10 → slidge-0.2.12}/tests/test_chat_commands.py +0 -0
  189. {slidge-0.2.10 → slidge-0.2.12}/tests/test_config.py +0 -0
  190. {slidge-0.2.10 → slidge-0.2.12}/tests/test_db/test_store.py +0 -0
  191. {slidge-0.2.10 → slidge-0.2.12}/tests/test_db/test_user.py +0 -0
  192. {slidge-0.2.10 → slidge-0.2.12}/tests/test_feature_restriction.py +0 -0
  193. {slidge-0.2.10 → slidge-0.2.12}/tests/test_mam_archivable.py +0 -0
  194. {slidge-0.2.10 → slidge-0.2.12}/tests/test_mds.py +0 -0
  195. {slidge-0.2.10 → slidge-0.2.12}/tests/test_name_in_constructor.py +0 -0
  196. {slidge-0.2.10 → slidge-0.2.12}/tests/test_resourceprep.py +0 -0
  197. {slidge-0.2.10 → slidge-0.2.12}/tests/test_session.py +0 -0
  198. {slidge-0.2.10 → slidge-0.2.12}/tests/test_session_2.py +0 -0
  199. {slidge-0.2.10 → slidge-0.2.12}/tests/test_set_name_before_fill.py +0 -0
  200. {slidge-0.2.10 → slidge-0.2.12}/tests/test_shakespeare.py +0 -0
  201. {slidge-0.2.10 → slidge-0.2.12}/tests/test_stanza_link_preview.py +0 -0
  202. {slidge-0.2.10 → slidge-0.2.12}/tests/test_util.py +0 -0
  203. {slidge-0.2.10 → slidge-0.2.12}/tests/test_vcard.py +0 -0
  204. {slidge-0.2.10 → slidge-0.2.12}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: slidge
3
- Version: 0.2.10
3
+ Version: 0.2.12
4
4
  Summary: XMPP bridging framework
5
5
  Author-email: Nicolas Cedilnik <nicoco@nicoco.fr>
6
6
  License-Expression: AGPL-3.0-or-later
@@ -28,7 +28,6 @@ def entrypoint(module_name: str) -> None:
28
28
 
29
29
  :param module_name: An importable :term:`Legacy Module`.
30
30
  """
31
- sys.argv.extend(["--legacy", module_name])
32
31
  main_func(module_name)
33
32
 
34
33
 
@@ -922,8 +922,13 @@ class LegacyMUC(
922
922
  after_id = after_id_rsm or after_id
923
923
 
924
924
  before_rsm = iq["mam"]["rsm"]["before"]
925
- if before_rsm is True and max_results is not None:
925
+ if before_rsm is not None and max_results is not None:
926
926
  last_page_n = max_results
927
+ # - before_rsm is True means the empty element <before />, which means
928
+ # "last page in chronological order", cf https://xmpp.org/extensions/xep-0059.html#backwards
929
+ # - before_rsm == "an ID" means <before>an ID</before>
930
+ if before_rsm is not True:
931
+ before_id = before_rsm
927
932
  else:
928
933
  last_page_n = None
929
934
 
@@ -127,7 +127,7 @@ def handle_sigterm(_signum, _frame):
127
127
 
128
128
 
129
129
  def main(module_name: str | None = None) -> None:
130
- from_entrypoint = module_name is None
130
+ from_entrypoint = module_name is not None
131
131
  signal.signal(signal.SIGTERM, handle_sigterm)
132
132
 
133
133
  unknown_argv = configure(from_entrypoint)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: slidge
3
- Version: 0.2.10
3
+ Version: 0.2.12
4
4
  Summary: XMPP bridging framework
5
5
  Author-email: Nicolas Cedilnik <nicoco@nicoco.fr>
6
6
  License-Expression: AGPL-3.0-or-later
@@ -1919,6 +1919,82 @@ class TestMuc(Base):
1919
1919
  </iq>
1920
1920
  """
1921
1921
  )
1922
+ self.recv( # language=XML
1923
+ """
1924
+ <iq from='romeo@montague.lit/gajim'
1925
+ type='set'
1926
+ id='iq-id1'
1927
+ to='room-private@aim.shakespeare.lit'>
1928
+ <query xmlns='urn:xmpp:mam:2'
1929
+ queryid='query-id'>
1930
+ <x xmlns='jabber:x:data'
1931
+ type='submit'>
1932
+ <field var='FORM_TYPE'
1933
+ type='hidden'>
1934
+ <value>urn:xmpp:mam:2</value>
1935
+ </field>
1936
+ <field var='start'>
1937
+ <value>2000-01-01T03:00:00Z</value>
1938
+ </field>
1939
+ </x>
1940
+ <set xmlns='http://jabber.org/protocol/rsm'>
1941
+ <max>3</max>
1942
+ <before>7</before>
1943
+ </set>
1944
+ </query>
1945
+ </iq>
1946
+ """
1947
+ )
1948
+ for i in range(4, 7):
1949
+ self.send( # language=XML
1950
+ f"""
1951
+ <message to='romeo@montague.lit/gajim'
1952
+ from='room-private@aim.shakespeare.lit'>
1953
+ <result xmlns='urn:xmpp:mam:2'
1954
+ queryid='query-id'
1955
+ id='{i}'>
1956
+ <forwarded xmlns='urn:xmpp:forward:0'>
1957
+ <delay xmlns='urn:xmpp:delay'
1958
+ stamp='2000-01-01T{i:02d}:00:00Z' />
1959
+ <message xmlns='jabber:client'
1960
+ from="room-private@aim.shakespeare.lit/history-man-{i}"
1961
+ type='groupchat'
1962
+ id='{i}'>
1963
+ <body>Body #{i}</body>
1964
+ <stanza-id xmlns="urn:xmpp:sid:0"
1965
+ id="{i}"
1966
+ by="room-private@aim.shakespeare.lit" />
1967
+ <occupant-id xmlns="urn:xmpp:occupant-id:0"
1968
+ id="uuid" />
1969
+ <x xmlns="http://jabber.org/protocol/muc#user">
1970
+ <item role="participant"
1971
+ affiliation="member"
1972
+ jid="uuid@aim.shakespeare.lit" />
1973
+ </x>
1974
+ </message>
1975
+ </forwarded>
1976
+ </result>
1977
+ </message>
1978
+ """
1979
+ )
1980
+ self.send( # language=XML
1981
+ """
1982
+ <iq type='result'
1983
+ id='iq-id1'
1984
+ from='room-private@aim.shakespeare.lit'
1985
+ to='romeo@montague.lit/gajim'>
1986
+ <fin xmlns='urn:xmpp:mam:2'
1987
+ stable="false"
1988
+ complete='true'>
1989
+ <set xmlns='http://jabber.org/protocol/rsm'>
1990
+ <first>4</first>
1991
+ <last>6</last>
1992
+ <count>3</count>
1993
+ </set>
1994
+ </fin>
1995
+ </iq>
1996
+ """
1997
+ )
1922
1998
 
1923
1999
  def test_mam_flip(self):
1924
2000
  self.recv( # language=XML
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes