• Bug#1091950: slidge: FTBFS: E AttributeError: 'str' object has no attri

    From Santiago Vila@21:1/5 to All on Thu Jan 2 19:20:05 2025
    Package: src:slidge
    Version: 0.2.2-1
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    debian/rules clean
    dh clean --with python3,sphinxdoc --buildsystem=pybuild
    dh_auto_clean -O--buildsystem=pybuild
    dh_autoreconf_clean -O--buildsystem=pybuild
    dh_clean -O--buildsystem=pybuild
    debian/rules binary
    dh binary --with python3,sphinxdoc --buildsystem=pybuild
    dh_update_autotools_config -O--buildsystem=pybuild
    dh_autoreconf -O--buildsystem=pybuild
    dh_auto_configure -O--buildsystem=pybuild
    dh_auto_build -O--buildsystem=pybuild
    I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module
    I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_slidge
    * Building wheel...

    [... snipped ...]

    ---------------------------- Captured stderr setup -----------------------------
    DEBUG:PIL.PngImagePlugin:STREAM b'IHDR' 16 13
    DEBUG:PIL.PngImagePlugin:STREAM b'iCCP' 41 389
    DEBUG:PIL.PngImagePlugin:iCCP profile name b'ICC profile' DEBUG:PIL.PngImagePlugin:Compression method 0
    DEBUG:PIL.PngImagePlugin:STREAM b'pHYs' 442 9
    DEBUG:PIL.PngImagePlugin:STREAM b'tIME' 463 7
    DEBUG:PIL.PngImagePlugin:b'tIME' 463 7 (unknown) DEBUG:PIL.PngImagePlugin:STREAM b'tEXt' 482 25
    DEBUG:PIL.PngImagePlugin:STREAM b'IDAT' 519 12
    ------------------------------ Captured log setup ------------------------------
    DEBUG PIL.PngImagePlugin:PngImagePlugin.py:197 STREAM b'IHDR' 16 13
    DEBUG PIL.PngImagePlugin:PngImagePlugin.py:197 STREAM b'iCCP' 41 389
    DEBUG PIL.PngImagePlugin:PngImagePlugin.py:417 iCCP profile name b'ICC profile'
    DEBUG PIL.PngImagePlugin:PngImagePlugin.py:419 Compression method 0
    DEBUG PIL.PngImagePlugin:PngImagePlugin.py:197 STREAM b'pHYs' 442 9
    DEBUG PIL.PngImagePlugin:PngImagePlugin.py:197 STREAM b'tIME' 463 7
    DEBUG PIL.PngImagePlugin:PngImagePlugin.py:753 b'tIME' 463 7 (unknown)
    DEBUG PIL.PngImagePlugin:PngImagePlugin.py:197 STREAM b'tEXt' 482 25
    DEBUG PIL.PngImagePlugin:PngImagePlugin.py:197 STREAM b'IDAT' 519 12 ----------------------------- Captured stderr call -----------------------------
    DEBUG:slixmpp.plugins.base:Loaded Plugin: Sender-generated link previews DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0030: Service Discovery DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0004: Data Forms DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0203: Delayed Delivery DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0045: Multi-User Chat DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0050: Ad-Hoc Commands DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0082: XMPP Date and Time Profiles DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0054: vcard-temp DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0055: Jabber search DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0059: Result Set Management DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0066: Out of Band Data DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0071: XHTML-IM DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0077: In-Band Registration (slidge)
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0128: Service Discovery Extensions
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0115: Entity Capabilities DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0131: Stanza Headers and Internet Metadata
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0060: Publish-Subscribe DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0163: Personal Eventing Protocol (PEP)
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0084: User Avatar DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0085: Chat State Notifications DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0297: Stanza Forwarding DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0356: Privileged Entity DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0100: Gateway interaction (slidge)
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0106: JID Escaping DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0122: Data Forms Validation DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0153: vCard-Based Avatars (slidge, just for MUCs)
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0172: User Nickname DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0184: Message Delivery Receipts DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0199: XMPP Ping DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0221: Data Forms Media Element DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0231: Bits of Binary DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0249: Direct MUC Invitations DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0300: Use of Cryptographic Hash Functions in XMPP
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0234: Jingle File Transfer DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0264: Jingle Content Thumbnails DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0280: Message Carbons DEBUG:slixmpp.plugins.base:Loaded Plugin: VCard4 Provider DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0308: Last Message Correction DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0313: Message Archive Management DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0317: Hats DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0012: Last Activity DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0319: Last User Interaction in Presence
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0333: Chat Markers DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0334: Message Processing Hints DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0356: Privileged Entity (slidge - old namespace)
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0363: HTTP File Upload DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0372: References DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0385: Stateless Inline Media Sharing (SIMS)
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0402: PEP Native bookmarks DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0421: Anonymous unique occupant identifiers for MUCs
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0428: Fallback Indication DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0359: Unique and Stable Stanza IDs
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0422: Message Fastening DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0424: Message Retraction DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0425: Moderated Message Retraction
    DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0444: Message Reactions DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0446: File metadata element DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0447: Stateless File Sharing DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0461: Message Replies DEBUG:slixmpp.plugins.base:Loaded Plugin: XEP-0490: Message Displayed Synchronization
    DEBUG:slixmpp.plugins.base:Loaded Plugin: Pubsub component DEBUG:slidge.core.gateway:Not adding command '<class 'slidge.command.admin.AdminCommand'>' because it looks abstract
    DEBUG:slidge.core.gateway:Registering <class 'slidge.command.admin.ListUsers'> DEBUG:slidge.core.gateway:Registering <class 'slidge.command.admin.SlidgeInfo'> DEBUG:slidge.core.gateway:Registering <class 'slidge.command.admin.DeleteUser'> DEBUG:slidge.core.gateway:Registering <class 'slidge.command.admin.ChangeLoglevel'>
    DEBUG:slidge.core.gateway:Registering <class 'slidge.command.user.Search'> DEBUG:slidge.core.gateway:Registering <class 'slidge.command.user.SyncContacts'>
    DEBUG:slidge.core.gateway:Registering <class 'slidge.command.user.ListContacts'>
    DEBUG:slidge.core.gateway:Registering <class 'slidge.command.user.ListGroups'> DEBUG:slidge.core.gateway:Registering <class 'slidge.command.user.Login'> DEBUG:slidge.core.gateway:Registering <class 'slidge.command.user.CreateGroup'> DEBUG:slidge.core.gateway:Registering <class 'slidge.command.user.Preferences'> DEBUG:slidge.core.gateway:Registering <class 'slidge.command.user.Unregister'> DEBUG:slidge.core.gateway:Registering <class 'slidge.command.user.LeaveGroup'> DEBUG:slidge.core.gateway:Registering <class 'slidge.command.register.Register'>
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_access.Command1'>' because it looks abstract
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_access.Command2'>' because it looks abstract
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_access.Command3'>' because it looks abstract
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_access.Command4'>' because it looks abstract
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_confirmation.CommandAdmin'>' because it looks abstract
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_confirmation.CommandAdminConfirmFail'>' because it looks abstract
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_form.Command1'>' because it looks abstract
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_form.Command2'>' because it looks abstract
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_reported.Command1'>' because it looks abstract
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_chat_commands.CommandAdmin'>' because it looks abstract
    DEBUG:slidge.core.gateway:Not adding command '<class 'test_chat_commands.CommandAdminConfirmFail'>' because it looks abstract
    DEBUG:slixmpp.xmlstream.xmlstream:Event triggered: connected DEBUG:slidge.core.gateway:SEND: <stream:stream xmlns="jabber:component:accept" xmlns:stream="http://etherx.jabber.org/streams" to="aim.shakespeare.lit">
    DEBUG:slixmpp.xmlstream.xmlstream:RECV: <stream:stream to="aim.shakespeare.lit">
    DEBUG:slidge.core.gateway:SEND: </stream:stream> DEBUG:slixmpp.plugins.xep_0030.disco:Looking up local disco#info data for None, node None.
    DEBUG:slidge.core.gateway:SEND: <handshake>a94a8fe5ccb19ba61c4c0873d391e987982fbbd3</handshake>
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT user_account.id, user_account.jid, user_account.registration_date, user_account.legacy_module_data, user_account.preferences, user_account.avatar_hash
    FROM user_account
    WHERE user_account.jid = ?
    INFO:sqlalchemy.engine.Engine:[generated in 0.00010s] ('romeo@montague.lit',) INFO:sqlalchemy.engine.Engine:INSERT INTO user_account (jid, legacy_module_data, preferences, avatar_hash) VALUES (?, ?, ?, ?) RETURNING id, registration_date
    INFO:sqlalchemy.engine.Engine:[generated in 0.00010s] ('romeo@montague.lit', '{"username": "romeo", "city": ""}', '{}', None)
    INFO:sqlalchemy.engine.Engine:COMMIT
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:UPDATE user_account SET legacy_module_data=?, preferences=? WHERE user_account.id = ?
    INFO:sqlalchemy.engine.Engine:[generated in 0.00008s] ('{"username": "romeo", "city": ""}', '{"sync_avatar": true, "sync_presence": true}', 1)
    INFO:sqlalchemy.engine.Engine:COMMIT
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT user_account.id, user_account.jid, user_account.registration_date, user_account.legacy_module_data, user_account.preferences, user_account.avatar_hash
    FROM user_account
    WHERE user_account.jid = ?
    INFO:sqlalchemy.engine.Engine:[cached since 0.002083s ago] ('romeo@montague.lit',)
    INFO:sqlalchemy.engine.Engine:ROLLBACK
    INFO:slidge.core.gateway:Login success for romeo@montague.lit INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT contact.id, contact.user_account_id, contact.legacy_id, contact.jid, contact.avatar_id, contact.nick, contact.cached_presence, contact.last_seen, contact.ptype, contact.pstatus, contact.pshow, contact.caps_ver,
    contact.is_friend, contact.added_to_roster, contact.extra_attributes, contact.updated, contact.vcard, contact.vcard_fetched, contact.avatar_legacy_id, contact.client_type
    FROM contact
    WHERE contact.user_account_id = ?
    INFO:sqlalchemy.engine.Engine:[generated in 0.00008s] (1,) INFO:sqlalchemy.engine.Engine:ROLLBACK
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT user_account.id, user_account.jid, user_account.registration_date, user_account.legacy_module_data, user_account.preferences, user_account.avatar_hash
    FROM user_account
    WHERE user_account.jid = ?
    INFO:sqlalchemy.engine.Engine:[cached since 0.003886s ago] ('romeo@montague.lit',)
    INFO:sqlalchemy.engine.Engine:ROLLBACK
    DEBUG:romeo@montague.lit:Creating task <Task pending name='Task-3950' coro=<BaseGateway.fetch_user_avatar() running at /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_slidge/build/slidge/core/gateway.py:544>>
    INFO:slidge.core.gateway:login_wrap took 2 ms
    DEBUG:slidge.core.gateway:SEND: </stream:stream> DEBUG:slixmpp.xmlstream.xmlstream:Event triggered: killed DEBUG:slidge.core.gateway:SEND: <message type="chat" from="aim.shakespeare.lit" to="romeo@montague.lit"><body>Thank you for registering. Type &apos;help&apos; to list the available commands, or just start messaging away!</body><active xmlns="http://
    jabber.org/protocol/chatstates" /><markable xmlns="urn:xmpp:chat-markers:0" /><store xmlns="urn:xmpp:hints" /></message>
    DEBUG:slidge.slixfix.roster:Load romeo@montague.lit INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT user_account.id, user_account.jid, user_account.registration_date, user_account.legacy_module_data, user_account.preferences, user_account.avatar_hash
    FROM user_account
    WHERE user_account.jid = ?
    INFO:sqlalchemy.engine.Engine:[cached since 0.004784s ago] ('romeo@montague.lit',)
    INFO:sqlalchemy.engine.Engine:ROLLBACK
    DEBUG:slidge.slixfix.roster:User User(id=1, jid=romeo@montague.lit) DEBUG:slixmpp.xmlstream.xmlstream:Event triggered: sent_presence DEBUG:slidge.core.dispatcher.caps:Ver: JX0yiombgqVMLX6lBdbaZrhSnCU= DEBUG:slidge.core.gateway:SEND: <presence to="romeo@montague.lit" from="aim.shakespeare.lit"><show>dnd</show><status>Logging in…</status><c xmlns="http://jabber.org/protocol/caps" node="http://slixmpp.com/ver/1.8.6" hash="sha-1" ver="
    JX0yiombgqVMLX6lBdbaZrhSnCU=" /></presence> DEBUG:slidge.core.dispatcher.caps:Ver: JX0yiombgqVMLX6lBdbaZrhSnCU= DEBUG:slidge.core.gateway:SEND: <presence to="romeo@montague.lit" from="aim.shakespeare.lit"><show>dnd</show><status>Syncing contacts…</status><c xmlns="http://jabber.org/protocol/caps" node="http://slixmpp.com/ver/1.8.6" hash="sha-1" ver="
    JX0yiombgqVMLX6lBdbaZrhSnCU=" /></presence> DEBUG:slidge.core.dispatcher.caps:Ver: JX0yiombgqVMLX6lBdbaZrhSnCU= DEBUG:slidge.core.gateway:SEND: <presence to="romeo@montague.lit" from="aim.shakespeare.lit"><show>dnd</show><status>Syncing groups…</status><c xmlns="http://jabber.org/protocol/caps" node="http://slixmpp.com/ver/1.8.6" hash="sha-1" ver="
    JX0yiombgqVMLX6lBdbaZrhSnCU=" /></presence> DEBUG:slidge.core.dispatcher.caps:Ver: JX0yiombgqVMLX6lBdbaZrhSnCU= DEBUG:slidge.core.gateway:SEND: <presence to="romeo@montague.lit" from="aim.shakespeare.lit"><show>chat</show><status>YUP</status><c xmlns="http://jabber.org/protocol/caps" node="http://slixmpp.com/ver/1.8.6" hash="sha-1" ver="JX0yiombgqVMLX6lBdbaZrhSnCU=
    " /></presence>
    DEBUG:slidge.core.gateway:SEND: <iq type="get" to="romeo@montague.lit" from="aim.shakespeare.lit" id="1"><pubsub xmlns="http://jabber.org/protocol/pubsub"><items node="urn:xmpp:avatar:metadata" /></pubsub></iq>
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT contact.id, contact.user_account_id, contact.legacy_id, contact.jid, contact.avatar_id, contact.nick, contact.cached_presence, contact.last_seen, contact.ptype, contact.pstatus, contact.pshow, contact.caps_ver,
    contact.is_friend, contact.added_to_roster, contact.extra_attributes, contact.updated, contact.vcard, contact.vcard_fetched, contact.avatar_legacy_id, contact.client_type
    FROM contact
    WHERE contact.legacy_id = ? AND contact.user_account_id = ? INFO:sqlalchemy.engine.Engine:[generated in 0.00008s] ('juliet', 1) DEBUG:slidge.core.pubsub:New nickname: <nick xmlns="http://jabber.org/protocol/nick">A name</nick>
    INFO:sqlalchemy.engine.Engine:INSERT INTO contact (user_account_id, legacy_id, jid, avatar_id, nick, cached_presence, last_seen, ptype, pstatus, pshow, caps_ver, is_friend, added_to_roster, extra_attributes, updated, vcard, vcard_fetched, avatar_legacy_
    id, client_type) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    INFO:sqlalchemy.engine.Engine:[generated in 0.00011s] (1, 'juliet', 'juliet@aim.shakespeare.lit', None, 'A name', 1, None, None, 'status msg', None, 'OErK4nBtx6JV2uK05xyCf47ioT0=', 1, 1, None, 1, None, 0, None, 'pc')
    INFO:sqlalchemy.engine.Engine:COMMIT
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT contact.id AS contact_id, contact.user_account_id AS contact_user_account_id, contact.legacy_id AS contact_legacy_id, contact.jid AS contact_jid, contact.avatar_id AS contact_avatar_id, contact.nick AS contact_nick,
    contact.cached_presence AS contact_cached_presence, contact.last_seen AS contact_last_seen, contact.ptype AS contact_ptype, contact.pstatus AS contact_pstatus, contact.pshow AS contact_pshow, contact.caps_ver AS contact_caps_ver, contact.is_friend AS
    contact_is_friend, contact.added_to_roster AS contact_added_to_roster, contact.extra_attributes AS contact_extra_attributes, contact.updated AS contact_updated, contact.vcard AS contact_vcard, contact.vcard_fetched AS contact_vcard_fetched, contact.
    avatar_legacy_id AS contact_avatar_legacy_id, contact.client_type AS contact_client_type
    FROM contact
    WHERE contact.id = ?
    INFO:sqlalchemy.engine.Engine:[generated in 0.00007s] (1,) INFO:sqlalchemy.engine.Engine:ROLLBACK
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT avatar.id, avatar.filename, avatar.hash, avatar.height, avatar.width, avatar.url, avatar.etag, avatar.last_modified
    FROM avatar
    WHERE avatar.url = ?
    INFO:sqlalchemy.engine.Engine:[generated in 0.00007s] ('AVATAR_URL',) DEBUG:PIL.PngImagePlugin:STREAM b'IHDR' 16 13
    DEBUG:PIL.PngImagePlugin:STREAM b'iCCP' 41 389
    DEBUG:PIL.PngImagePlugin:iCCP profile name b'ICC Profile' DEBUG:PIL.PngImagePlugin:Compression method 0
    DEBUG:PIL.PngImagePlugin:STREAM b'IDAT' 442 12 INFO:sqlalchemy.engine.Engine:ROLLBACK
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT avatar.id, avatar.filename, avatar.hash, avatar.height, avatar.width, avatar.url, avatar.etag, avatar.last_modified
    FROM avatar
    WHERE avatar.hash = ?
    INFO:sqlalchemy.engine.Engine:[generated in 0.00009s] ('630e98ce280a370dd1c7933289ce7a0338b8b3f1',)
    INFO:sqlalchemy.engine.Engine:INSERT INTO avatar (filename, hash, height, width, url, etag, last_modified) VALUES (?, ?, ?, ?, ?, ?, ?)
    INFO:sqlalchemy.engine.Engine:[generated in 0.00008s] ('c0969168-c921-11ef-85ac-0ae31a029a37.png', '630e98ce280a370dd1c7933289ce7a0338b8b3f1', 5, 5, 'AVATAR_URL', 'etag', 'last')
    INFO:sqlalchemy.engine.Engine:COMMIT
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT avatar.id AS avatar_id, avatar.filename AS avatar_filename, avatar.hash AS avatar_hash, avatar.height AS avatar_height, avatar.width AS avatar_width, avatar.url AS avatar_url, avatar.etag AS avatar_etag, avatar.last_
    modified AS avatar_last_modified
    FROM avatar
    WHERE avatar.id = ?
    INFO:sqlalchemy.engine.Engine:[generated in 0.00007s] (1,) INFO:sqlalchemy.engine.Engine:ROLLBACK
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:UPDATE contact SET avatar_id=?, avatar_legacy_id=? WHERE contact.id = ?
    INFO:sqlalchemy.engine.Engine:[generated in 0.00007s] (1, 'AVATAR_URL', 1) INFO:sqlalchemy.engine.Engine:COMMIT
    INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT participant.id, participant.room_id, participant.contact_id, participant.is_user, participant.affiliation, participant.role, participant.presence_sent, participant.resource, participant.nickname, participant.extra_
    attributes, contact_1.id AS id_1, contact_1.user_account_id, contact_1.legacy_id, contact_1.jid, contact_1.avatar_id, contact_1.nick, contact_1.cached_presence, contact_1.last_seen, contact_1.ptype, contact_1.pstatus, contact_1.pshow, contact_1.caps_ver,
    contact_1.is_friend, contact_1.added_to_roster, contact_1.extra_attributes AS extra_attributes_1, contact_1.updated, contact_1.vcard, contact_1.vcard_fetched, contact_1.avatar_legacy_id, contact_1.client_type
    FROM participant LEFT OUTER JOIN contact AS contact_1 ON contact_1.id = participant.contact_id
    WHERE participant.contact_id = ?
    INFO:sqlalchemy.engine.Engine:[generated in 0.00009s] (1,) INFO:sqlalchemy.engine.Engine:ROLLBACK
    DEBUG:slidge.slixfix.roster:Load romeo@montague.lit INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT user_account.id, user_account.jid, user_account.registration_date, user_account.legacy_module_data, user_account.preferences, user_account.avatar_hash
    FROM user_account
    WHERE user_account.jid = ?
    INFO:sqlalchemy.engine.Engine:[cached since 0.01674s ago] ('romeo@montague.lit',)
    INFO:sqlalchemy.engine.Engine:ROLLBACK
    DEBUG:slidge.slixfix.roster:User User(id=1, jid=romeo@montague.lit) DEBUG:slidge.contact.roster:Contact juliet@aim.shakespeare.lit/slidge not found INFO:sqlalchemy.engine.Engine:BEGIN (implicit) INFO:sqlalchemy.engine.Engine:SELECT contact.id, contact.user_account_id, contact.legacy_id, contact.jid, contact.avatar_id, contact.nick, contact.cached_presence, contact.last_seen, contact.ptype, contact.pstatus, contact.pshow, contact.caps_ver,
    contact.is_friend, contact.added_to_roster, contact.extra_attributes, contact.updated, contact.vcard, contact.vcard_fetched, contact.avatar_legacy_id, contact.client_type
    FROM contact
    WHERE contact.jid = ? AND contact.user_account_id = ? INFO:sqlalchemy.engine.Engine:[generated in 0.00007s] ('juliet@aim.shakespeare.lit', 1)
    INFO:sqlalchemy.engine.Engine:ROLLBACK
    DEBUG:slidge.core.dispatcher.caps:Ver: OErK4nBtx6JV2uK05xyCf47ioT0= DEBUG:slidge.core.gateway:SEND: <presence from="juliet@aim.shakespeare.lit/slidge" to="romeo@montague.lit"><status>status msg</status><c xmlns="http://jabber.org/protocol/caps" node="http://slixmpp.com/ver/1.8.6" hash="sha-1" ver="
    OErK4nBtx6JV2uK05xyCf47ioT0=" /></presence>
    DEBUG:slidge.core.gateway:SEND: <message type="headline" from="juliet@aim.shakespeare.lit" to="romeo@montague.lit"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="http://jabber.org/protocol/nick"><item><nick xmlns="http://jabber.org/
    protocol/nick">A name</nick></item></items></event></message> DEBUG:slidge.core.gateway:SEND: <message type="headline" from="juliet@aim.shakespeare.lit" to="romeo@montague.lit"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="urn:xmpp:avatar:metadata"><item id="
    630e98ce280a370dd1c7933289ce7a0338b8b3f1"><metadata xmlns="urn:xmpp:avatar:metadata"><info id="630e98ce280a370dd1c7933289ce7a0338b8b3f1" type="image/png" bytes="470" height="5" width="5" /></metadata></item></items></event></message>
    DEBUG:slixmpp.xmlstream.xmlstream:End of stream received DEBUG:slixmpp.xmlstream.xmlstream:Event triggered: killed ------------------------------ Captured log call -------------------------------
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: Sender-generated link previews
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0030: Service Discovery
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0004: Data Forms DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0203: Delayed Delivery
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0045: Multi-User Chat
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0050: Ad-Hoc Commands
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0082: XMPP Date and Time Profiles
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0054: vcard-temp DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0055: Jabber search
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0059: Result Set Management
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0066: Out of Band Data
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0071: XHTML-IM DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0077: In-Band Registration (slidge)
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0128: Service Discovery Extensions
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0115: Entity Capabilities
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0131: Stanza Headers and Internet Metadata
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0060: Publish-Subscribe
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0163: Personal Eventing Protocol (PEP)
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0084: User Avatar DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0085: Chat State Notifications
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0297: Stanza Forwarding
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0356: Privileged Entity
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0100: Gateway interaction (slidge)
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0106: JID Escaping DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0122: Data Forms Validation
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0153: vCard-Based Avatars (slidge, just for MUCs)
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0172: User Nickname
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0184: Message Delivery Receipts
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0199: XMPP Ping DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0221: Data Forms Media Element
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0231: Bits of Binary
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0249: Direct MUC Invitations
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0300: Use of Cryptographic Hash Functions in XMPP
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0234: Jingle File Transfer
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0264: Jingle Content Thumbnails
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0280: Message Carbons
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: VCard4 Provider
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0308: Last Message Correction
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0313: Message Archive Management
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0317: Hats
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0012: Last Activity
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0319: Last User Interaction in Presence
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0333: Chat Markers DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0334: Message Processing Hints
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0356: Privileged Entity (slidge - old namespace)
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0363: HTTP File Upload
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0372: References DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0385: Stateless Inline Media Sharing (SIMS)
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0402: PEP Native bookmarks
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0421: Anonymous unique occupant identifiers for MUCs
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0428: Fallback Indication
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0359: Unique and Stable Stanza IDs
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0422: Message Fastening
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0424: Message Retraction
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0425: Moderated Message Retraction
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0444: Message Reactions
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0446: File metadata element
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0447: Stateless File Sharing
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0461: Message Replies
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: XEP-0490: Message Displayed Synchronization
    DEBUG slixmpp.plugins.base:base.py:323 Loaded Plugin: Pubsub component
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'slidge.command.admin.AdminCommand'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.admin.ListUsers'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.admin.SlidgeInfo'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.admin.DeleteUser'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.admin.ChangeLoglevel'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.user.Search'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.user.SyncContacts'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.user.ListContacts'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.user.ListGroups'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.user.Login'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.user.CreateGroup'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.user.Preferences'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.user.Unregister'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.user.LeaveGroup'>
    DEBUG slidge.core.gateway:gateway.py:364 Registering <class 'slidge.command.register.Register'>
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_access.Command1'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_access.Command2'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_access.Command3'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_access.Command4'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_confirmation.CommandAdmin'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_confirmation.CommandAdminConfirmFail'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_form.Command1'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_form.Command2'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_reported.Command1'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_chat_commands.CommandAdmin'>' because it looks abstract
    DEBUG slidge.core.gateway:gateway.py:356 Not adding command '<class 'test_chat_commands.CommandAdminConfirmFail'>' because it looks abstract
    DEBUG slixmpp.xmlstream.xmlstream:xmlstream.py:1097 Event triggered: connected
    DEBUG slidge.core.gateway:gateway.py:592 SEND: <stream:stream xmlns="jabber:component:accept" xmlns:stream="http://etherx.jabber.org/streams" to="aim.shakespeare.lit">
    DEBUG slixmpp.xmlstream.xmlstream:xmlstream.py:574 RECV: <stream:stream to="aim.shakespeare.lit">
    DEBUG slidge.core.gateway:gateway.py:592 SEND: </stream:stream>
    DEBUG slixmpp.plugins.xep_0030.disco:disco.py:391 Looking up local disco#info data for None, node None.

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)