slidge 0.3.0a0__tar.gz → 0.3.0a1__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.
- {slidge-0.3.0a0 → slidge-0.3.0a1}/.woodpecker/package.yaml +5 -1
- {slidge-0.3.0a0 → slidge-0.3.0a1}/PKG-INFO +1 -1
- slidge-0.3.0a1/slidge/db/alembic/versions/4dbd23a3f868_new_avatar_store.py +105 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge.egg-info/PKG-INFO +1 -1
- slidge-0.3.0a0/slidge/db/alembic/versions/4dbd23a3f868_new_avatar_store.py +0 -56
- {slidge-0.3.0a0 → slidge-0.3.0a1}/.gitignore +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/.pre-commit-config.yaml +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/.woodpecker/container-ci.yaml +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/.woodpecker/docs.yaml +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/.woodpecker/test.yaml +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/Dockerfile +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/LICENSE +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/README.md +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/commitlint.config.js +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/assets/5x5.png +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/assets/slidge-color-small.png +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/assets/slidge-color.png +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/assets/slidge-mono-black.png +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/assets/slidge-mono-white.png +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/assets/slidge.svg +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/confs/movim.env +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/confs/nginx.conf +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/confs/slidge-dev.ini +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/confs/slidge-example.ini +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/hot-reload.sh +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/dev/prettify_tests.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/doap.xml +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docker-compose.yml +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/Makefile +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/attachments.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/component.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/config/index.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/daemon.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/examples/ejabberd.yaml +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/examples/index.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/examples/prosody.cfg.lua +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/index.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/install.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/note.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/admin/privilege.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/codeberg.svg +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/conf.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/dev/contributing.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/dev/design.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/dev/howto.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/dev/index.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/dev/tutorial.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/glossary.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/index.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/user/commands.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/user/contacts.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/user/foxyproxy.png +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/user/gajim.png +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/user/index.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/user/low_profile.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/user/movim1.png +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/user/movim2.png +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/user/note.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/docs/source/user/register.rst +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/pyproject.toml +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/setup.cfg +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/__main__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/command/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/command/adhoc.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/command/admin.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/command/base.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/command/categories.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/command/chat_command.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/command/register.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/command/user.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/contact/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/contact/contact.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/contact/roster.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/config.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/caps.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/disco.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/message/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/message/chat_state.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/message/marker.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/message/message.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/muc/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/muc/admin.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/muc/mam.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/muc/misc.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/muc/owner.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/muc/ping.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/presence.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/registration.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/search.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/session_dispatcher.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/util.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/dispatcher/vcard.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/gateway.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/attachment.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/avatar.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/base.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/db.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/disco.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/message.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/message_maker.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/message_text.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/presence.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/mixins/recipient.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/pubsub.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/core/session.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/env.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/script.py.mako +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/0337c90c0b96_unify_legacy_xmpp_id_mappings.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/04cf35e3cf85_add_participant_nickname_no_illegal.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/09f27f098baa_add_missing_attributes_in_room.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/15b0bd83407a_remove_bogus_unique_constraints_on_room_.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/2461390c0af2_store_contacts_caps_verstring_in_db.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/29f5280c61aa_store_subject_setter_in_room.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/2b1f45ab7379_store_room_subject_setter_by_nickname.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/3071e0fa69d4_add_contact_client_type.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/45c24cc73c91_add_bob.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/54ce3cde350c_use_hash_for_avatar_filenames.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/58b98dacf819_refactor.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/5bd48bfdffa2_lift_room_legacy_id_constraint.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/75a62b74b239_ditch_hats_table.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/82a4af84b679_add_muc_history_filled.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/8b993243a536_add_vcard_content_to_contact_table.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/aa9d82a7f6ef_db_creation.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/abba1ae0edb3_store_avatar_legacy_id_in_the_contact_.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/b33993e87db3_move_everything_to_persistent_db.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/b64b1a793483_add_source_and_legacy_id_for_archived_.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/c4a8ec35a0e8_per_room_user_nick.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/e91195719c2c_store_users_avatars_persistently.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/avatar.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/meta.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/models.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/store.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/group/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/group/archive.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/group/bookmarks.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/group/participant.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/group/room.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/main.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/migration.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/py.typed +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/delivery_receipt.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/link_preview/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/link_preview/link_preview.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/link_preview/stanza.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/roster.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/xep_0077/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/xep_0077/register.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/xep_0077/stanza.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/xep_0100/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/xep_0100/gateway.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/xep_0100/stanza.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/xep_0153/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/xep_0153/vcard_avatar.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/xep_0292/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/slixfix/xep_0292/vcard4.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/util/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/util/archive_msg.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/util/conf.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/util/jid_escaping.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/util/lock.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/util/test.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/util/types.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/util/util.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge.egg-info/SOURCES.txt +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge.egg-info/dependency_links.txt +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge.egg-info/entry_points.txt +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge.egg-info/requires.txt +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/slidge.egg-info/top_level.txt +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/superduper/__init__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/superduper/__main__.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/superduper/contact.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/superduper/gateway.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/superduper/group.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/superduper/legacy_client.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/superduper/session.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/superduper/util.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/conftest.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_adhoc/test_access.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_adhoc/test_confirmation.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_adhoc/test_form.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_adhoc/test_reported.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_attachment.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_avatar.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_backfill.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_chat_commands.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_config.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_db/test_store.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_db/test_user.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_feature_restriction.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_mam_archivable.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_mds.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_muc.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_resourceprep.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_session.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_session_2.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_set_name_before_fill.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_shakespeare.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_stanza_link_preview.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_util.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/tests/test_vcard.py +0 -0
- {slidge-0.3.0a0 → slidge-0.3.0a1}/uv.lock +0 -0
@@ -28,8 +28,12 @@ steps:
|
|
28
28
|
environment:
|
29
29
|
CODEBERG_TOKEN:
|
30
30
|
from_secret: CODEBERG_TOKEN
|
31
|
+
# Here we don't want the whole workflow to fail if the file already exists.
|
32
|
+
# This happens when we push commits and a new tag at the same time, resulting
|
33
|
+
# in two packages with the same version identifier being produced by the "tag"
|
34
|
+
# and "push" workflow.
|
31
35
|
commands:
|
32
|
-
- uv publish --index codeberg --token $CODEBERG_TOKEN
|
36
|
+
- uv publish --index codeberg --token $CODEBERG_TOKEN || true
|
33
37
|
|
34
38
|
pypi:
|
35
39
|
when:
|
@@ -0,0 +1,105 @@
|
|
1
|
+
"""New avatar store
|
2
|
+
|
3
|
+
Revision ID: 4dbd23a3f868
|
4
|
+
Revises: 04cf35e3cf85
|
5
|
+
Create Date: 2025-04-14 21:57:49.030430
|
6
|
+
|
7
|
+
"""
|
8
|
+
|
9
|
+
from typing import Sequence, Union
|
10
|
+
|
11
|
+
import sqlalchemy as sa
|
12
|
+
from alembic import op
|
13
|
+
|
14
|
+
# revision identifiers, used by Alembic.
|
15
|
+
revision: str = "4dbd23a3f868"
|
16
|
+
down_revision: Union[str, None] = "04cf35e3cf85"
|
17
|
+
branch_labels: Union[str, Sequence[str], None] = None
|
18
|
+
depends_on: Union[str, Sequence[str], None] = None
|
19
|
+
|
20
|
+
|
21
|
+
def upgrade() -> None:
|
22
|
+
# a bug in slidge v0.3.0alpha0 lead to a crash during this migration which ended up with
|
23
|
+
# this temporary tables in here
|
24
|
+
op.execute("DROP TABLE IF EXISTS _alembic_tmp_avatar;")
|
25
|
+
op.execute("DROP TABLE IF EXISTS _alembic_tmp_contact;")
|
26
|
+
|
27
|
+
with op.batch_alter_table("avatar", schema=None) as batch_op:
|
28
|
+
batch_op.add_column(sa.Column("legacy_id", sa.String(), nullable=True))
|
29
|
+
batch_op.create_unique_constraint("avatar_unique_legacy_id", ["legacy_id"])
|
30
|
+
|
31
|
+
batch_op.execute("""
|
32
|
+
UPDATE avatar
|
33
|
+
SET legacy_id = contact.avatar_legacy_id
|
34
|
+
FROM contact
|
35
|
+
WHERE avatar.id = contact.avatar_id
|
36
|
+
""")
|
37
|
+
|
38
|
+
batch_op.execute("""
|
39
|
+
UPDATE avatar
|
40
|
+
SET legacy_id = room.avatar_legacy_id
|
41
|
+
FROM room
|
42
|
+
WHERE avatar.id = room.avatar_id
|
43
|
+
""")
|
44
|
+
|
45
|
+
# the following 4 OPs have been added manually because somewhere before, we messed up
|
46
|
+
# and the client_type server side default value was pc (no quote) instead of "pc"
|
47
|
+
op.execute(
|
48
|
+
"""
|
49
|
+
CREATE TABLE contact_new (
|
50
|
+
id INTEGER NOT NULL,
|
51
|
+
user_account_id INTEGER NOT NULL,
|
52
|
+
legacy_id VARCHAR NOT NULL,
|
53
|
+
jid TEXT NOT NULL,
|
54
|
+
avatar_id INTEGER,
|
55
|
+
nick VARCHAR,
|
56
|
+
cached_presence BOOLEAN NOT NULL,
|
57
|
+
last_seen DATETIME,
|
58
|
+
ptype VARCHAR,
|
59
|
+
pstatus VARCHAR,
|
60
|
+
pshow VARCHAR,
|
61
|
+
is_friend BOOLEAN NOT NULL,
|
62
|
+
added_to_roster BOOLEAN NOT NULL,
|
63
|
+
extra_attributes VARCHAR,
|
64
|
+
updated BOOLEAN NOT NULL,
|
65
|
+
caps_ver VARCHAR,
|
66
|
+
vcard VARCHAR,
|
67
|
+
vcard_fetched BOOLEAN DEFAULT 1 NOT NULL,
|
68
|
+
avatar_legacy_id VARCHAR,
|
69
|
+
client_type VARCHAR(8) DEFAULT 'pc' NOT NULL,
|
70
|
+
PRIMARY KEY (id),
|
71
|
+
FOREIGN KEY(user_account_id) REFERENCES user_account (id),
|
72
|
+
FOREIGN KEY(avatar_id) REFERENCES avatar (id),
|
73
|
+
UNIQUE (user_account_id, legacy_id) CONSTRAINT uq_user_account_legacy_id,
|
74
|
+
UNIQUE (user_account_id, jid) CONSTRAINT uq_user_account_jid
|
75
|
+
);
|
76
|
+
"""
|
77
|
+
)
|
78
|
+
|
79
|
+
op.execute(
|
80
|
+
"""
|
81
|
+
INSERT INTO contact_new (id, user_account_id, legacy_id, jid, avatar_id, nick, cached_presence, last_seen, ptype, pstatus, pshow, is_friend, added_to_roster, extra_attributes, updated, caps_ver, vcard, vcard_fetched, avatar_legacy_id, client_type)
|
82
|
+
SELECT id, user_account_id, legacy_id, jid, avatar_id, nick, cached_presence, last_seen, ptype, pstatus, pshow, is_friend, added_to_roster, extra_attributes, updated, caps_ver, vcard, vcard_fetched, avatar_legacy_id, client_type
|
83
|
+
FROM contact;
|
84
|
+
"""
|
85
|
+
)
|
86
|
+
op.execute("DROP TABLE contact;")
|
87
|
+
op.execute("ALTER TABLE contact_new RENAME TO contact;")
|
88
|
+
|
89
|
+
with op.batch_alter_table("contact", schema=None) as batch_op:
|
90
|
+
batch_op.drop_column("avatar_legacy_id")
|
91
|
+
|
92
|
+
with op.batch_alter_table("room", schema=None) as batch_op:
|
93
|
+
batch_op.drop_column("avatar_legacy_id")
|
94
|
+
|
95
|
+
|
96
|
+
def downgrade() -> None:
|
97
|
+
with op.batch_alter_table("room", schema=None) as batch_op:
|
98
|
+
batch_op.add_column(sa.Column("avatar_legacy_id", sa.VARCHAR(), nullable=True))
|
99
|
+
|
100
|
+
with op.batch_alter_table("contact", schema=None) as batch_op:
|
101
|
+
batch_op.add_column(sa.Column("avatar_legacy_id", sa.VARCHAR(), nullable=True))
|
102
|
+
|
103
|
+
with op.batch_alter_table("avatar", schema=None) as batch_op:
|
104
|
+
batch_op.drop_constraint("avatar_unique_legacy_id", type_="unique")
|
105
|
+
batch_op.drop_column("legacy_id")
|
@@ -1,56 +0,0 @@
|
|
1
|
-
"""New avatar store
|
2
|
-
|
3
|
-
Revision ID: 4dbd23a3f868
|
4
|
-
Revises: 04cf35e3cf85
|
5
|
-
Create Date: 2025-04-14 21:57:49.030430
|
6
|
-
|
7
|
-
"""
|
8
|
-
|
9
|
-
from typing import Sequence, Union
|
10
|
-
|
11
|
-
import sqlalchemy as sa
|
12
|
-
from alembic import op
|
13
|
-
|
14
|
-
# revision identifiers, used by Alembic.
|
15
|
-
revision: str = "4dbd23a3f868"
|
16
|
-
down_revision: Union[str, None] = "04cf35e3cf85"
|
17
|
-
branch_labels: Union[str, Sequence[str], None] = None
|
18
|
-
depends_on: Union[str, Sequence[str], None] = None
|
19
|
-
|
20
|
-
|
21
|
-
def upgrade() -> None:
|
22
|
-
with op.batch_alter_table("avatar", schema=None) as batch_op:
|
23
|
-
batch_op.add_column(sa.Column("legacy_id", sa.String(), nullable=True))
|
24
|
-
batch_op.create_unique_constraint("avatar_unique_legacy_id", ["legacy_id"])
|
25
|
-
|
26
|
-
batch_op.execute("""
|
27
|
-
UPDATE avatar
|
28
|
-
SET legacy_id = contact.avatar_legacy_id
|
29
|
-
FROM contact
|
30
|
-
WHERE avatar.id = contact.avatar_id
|
31
|
-
""")
|
32
|
-
|
33
|
-
batch_op.execute("""
|
34
|
-
UPDATE avatar
|
35
|
-
SET legacy_id = room.avatar_legacy_id
|
36
|
-
FROM room
|
37
|
-
WHERE avatar.id = room.avatar_id
|
38
|
-
""")
|
39
|
-
|
40
|
-
with op.batch_alter_table("contact", schema=None) as batch_op:
|
41
|
-
batch_op.drop_column("avatar_legacy_id")
|
42
|
-
|
43
|
-
with op.batch_alter_table("room", schema=None) as batch_op:
|
44
|
-
batch_op.drop_column("avatar_legacy_id")
|
45
|
-
|
46
|
-
|
47
|
-
def downgrade() -> None:
|
48
|
-
with op.batch_alter_table("room", schema=None) as batch_op:
|
49
|
-
batch_op.add_column(sa.Column("avatar_legacy_id", sa.VARCHAR(), nullable=True))
|
50
|
-
|
51
|
-
with op.batch_alter_table("contact", schema=None) as batch_op:
|
52
|
-
batch_op.add_column(sa.Column("avatar_legacy_id", sa.VARCHAR(), nullable=True))
|
53
|
-
|
54
|
-
with op.batch_alter_table("avatar", schema=None) as batch_op:
|
55
|
-
batch_op.drop_constraint("avatar_unique_legacy_id", type_="unique")
|
56
|
-
batch_op.drop_column("legacy_id")
|
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
|
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
|
{slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/3071e0fa69d4_add_contact_client_type.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/75a62b74b239_ditch_hats_table.py
RENAMED
File without changes
|
{slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/82a4af84b679_add_muc_history_filled.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{slidge-0.3.0a0 → slidge-0.3.0a1}/slidge/db/alembic/versions/c4a8ec35a0e8_per_room_user_nick.py
RENAMED
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
|
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
|