Retest the fixed bugs of #1 on libtacky develop (batch 5) #24

Open
opened 2026-11-10 16:03:39 +00:00 by asxpi · 0 comments
Member

Retest of the bugs marked fixed in #1 (batch 5, headless, #1's method), and a check that the fixes broke nothing nearby. Results go here; #1 keeps its original evidence and gets a link back once a row is confirmed. The #9 retest with the GUI VMs (batch 6) is #25.

Versions

version
libtacky v1.2.7 (49b4c635, 2026-11-10); develop has 5 more commits toward 1.2.8 (room invites, 65a31465)
anotherim-js 0.8.0 (a9d303a2, libtacky v1.2.7); develop has 3 more (XEP-0245 /me drawn as an action, b187c257 citing this repo's batch 3; the undecryptable line)
servers / peers unchanged since the original runs: Prosody 13.0.7, ejabberd 26.09, anotherim-server master@b9e675dd; slixmpp (#1)

Batch 5: #1 retest (headless, #1's method)

libtacky under test: develop (newer than v1.2.7), built as tackyd-json-develop-<sha>; the exact commit is noted here when the batch starts.

The interop runs of #1: libtacky's tackyd-json against slixmpp on the three servers, proof in client.log / client-events.log / peer-slixmpp.log / server.log, branch vm/batch-5.

  • Scope: every #1 bug marked fixed (v1.2.0, v1.2.1, v1.2.2: S1, S2, S4–S13, C1–C11, C13–C34, C3.1, M1–M8, M10, M11, M13–M16, M19, M21, M22) and partly fixed (S3, C8, M18, M23, M25), on the servers it was seen on. A pass needs the original run's scenario to show the fixed behaviour; a row the old run can't reach any more gets a new scenario.
  • Regressions: for each fix, the neighbouring behaviour its commit touched (e.g. S2 sealed signals still delivered, C19 real duplicates still merged, S10 valid URIs still parse, C21 a real stream error still reconnects), one run each.
  • Not retested: C12 (documented deviation; reproduced again in batch 4), M9, M12, M17, M20, M24 (not reproduced / decisions).

All #1 bugs

Every bug of #1 (its Contents table), with the status as of libtacky develop 65a31465 (no newer commits or releases, and no new comments on #1, at 2026-11-10 ~17:00 UTC). Retest yes = fixed or partly fixed upstream (67 of 73); the rest stay listed, not run. Result: ⏳ pending, then ✅ fixed / 🟡 partly / ❌ still there, with the run.

# Bug Severity Status (2026-11-10, libtacky develop 65a31465) Retest Result
S1 Call invites and meeting messages bypass OMEMO security/privacy fixed in v1.2.1, upstream's own (7559ecfc, 9b1e961b) yes ✅ fixed ej ai ai reg ai reg 2
S2 Chat state, receipt request and markable in clear beside OMEMO 2 (XEP-0420) security/privacy fixed in v1.2.1, ours verbatim (810c609e) yes ✅ fixed pr ej ai
S3 SIMS file metadata in clear beside legacy OMEMO ciphertext security/privacy partly fixed: opt-out setting, default unchanged (801f9533) yes 🟡 partly: default (legacy_file_metadata unset) still sends SIMS name/type beside OMEMO 0.3; =0 leaks nothing ej ej =0 ai ai =0
S4 Fake room join at a contact's bare JID turns off 1:1 OMEMO for good security/privacy fixed in v1.2.1, ours verbatim (065b273b) yes ✅ fixed ej ej 2 ai
S5 CAPTCHA inline BoB data not hash/size/type checked security/privacy fixed in v1.2.1, ours verbatim (03b0c666) yes ✅ fixed pr ej ai ai 2
S6 spans-0 fallback strip hides arbitrary text security/privacy fixed in v1.2.1, ours verbatim (0b3f2385) yes ✅ fixed pr ej ej reg
S7 XEP-0100: a user JID posing as a gateway gets into the roster security/privacy fixed in v1.2.1, ours verbatim (c9c3ae27) yes ✅ fixed pr ej
S8 geoloc stop overtaken by a stale republish security/privacy fixed in v1.2.1, ours verbatim (ba1f07cf) yes ✅ fixed ej ai ai reg
S9 OTR ssid/fingerprint mangled by Tcl expr (Inf) security/privacy fixed in v1.2.1, ours verbatim (10ca7f9f) yes ✅ fixed ej pr reg
S10 parse_uri splits a decoded ? (link spoofing), accepts ports security/privacy fixed in v1.2.1, ours verbatim (e706c4ad) yes ✅ fixed pr ej ai
S11 XEP-0227 export: every PEP node open; vcard-temp as a PEP node security/privacy fixed in v1.2.0 (0213e2ea) yes ✅ fixed pr ej ai
S12 Peer can choose our stanza-id (forged by= own account) security/privacy fixed in v1.2.0 (267e5bc4) yes ✅ fixed pr ej
S13 Secrets in host-facing output (sm <Ack>, XML console) security/privacy fixed in v1.2.1, ours verbatim (fd8de84e) yes ✅ fixed pr ej
C1 Invalid jinglepub from throws, message lost correctness fixed in v1.2.1, ours verbatim (7efc7c82) yes ✅ fixed pr ej ai ai reg
C2 IBB error: no <close/>, 60 s stall (callback arity) correctness fixed in v1.2.1, ours, reworded (01f262a2) yes ✅ fixed pr ej ai
C3 Mention offsets not shifted after XmlText strips chars correctness fixed in v1.2.1, ours verbatim (67d627cf) yes ✅ fixed pr ej ai
C4 Subject-only reply fallback treated as whole-body; reply dropped correctness fixed in v1.2.1, ours verbatim (77ea7932) yes ✅ fixed pr ej ai
C5 service-0 notices raise notify <Notify> correctness fixed in v1.2.1, ours narrowed (659997ee) yes ✅ fixed pr pr reg ej ai
C6 Room caption folded by origin-id instead of stanza-id correctness fixed in v1.2.1, ours verbatim (8de65a15) yes ✅ fixed pr ej ai
C7 XEP-0482 reject uses the wrong ids correctness fixed in v1.2.1, ours without the invite-id change (6f004395) yes ✅ fixed pr ej ai ai reg
C8 XEP-0492 <advanced/> dropped on rewrite correctness fixed: v1.2.1 part (e576b749), the rest in v1.2.4 (7912074c, attribute-free fallback, alpha1 <advanced/> kept) yes ✅ fixed pr ej ej 2 ai ai 2
C9 Geoloc on Prosody: own node <delete/> stops sharing for good correctness fixed in v1.2.1, ours, reworded (0df268dd) yes ✅ fixed pr pr reg
C10 XEP-0470 attachments node made without max_items (own reaction evicted) correctness fixed in v1.2.1, ours, reworded (707ddaf2) yes ✅ fixed pr ai reg
C11 pubsub publish/create ids through expr (1E…→Inf) correctness fixed in v1.2.1, upstream's own (4a00f894) yes ✅ fixed pr ej ai ai reg
C12 XEP-0153 photo hash advertised before own vCard fetched correctness not changed: documented deviation (bc534bf0); reproduced by VM batch 4 on all three servers (Dino, Kaidan) no –
C13 SIMS <file/> lacks <hash/> and <desc/> correctness fixed in v1.2.1, ours, reworded (5a194a64) yes ✅ fixed pr ej ai ai reg
C14 send_album source messages lack sfs fallback marker correctness fixed in v1.2.1, ours, reworded (84347d15) yes ✅ fixed pr ej ai ai reg
C15 Outgoing inline thumbnails have no size cap correctness fixed in v1.2.1, ours, reworded (3c58decb) yes ✅ fixed pr ej ai ai reg
C16 disco#info lacks urn:ietf:params:xml:ns:vcard-4.0 correctness fixed in v1.2.1, ours, reworded (6dd6be8f) yes ✅ fixed pr ej ai ai reg
C17 disco#info lacks urn:xmpp:eme:0; name= on listed EME ns correctness fixed in v1.2.1, ours, reworded (fca586fb) yes ✅ fixed pr ej ej R2 ai ai reg
C18 microblog publish leaves pubsub#notify_retract false correctness fixed in v1.2.1, ours, reworded (d2c3a50d) yes ✅ fixed ej ai ai reg
C19 messagestore IsDuplicate merges different messages correctness fixed in v1.2.1, upstream's own (752e4825) yes ✅ fixed ej ai ai reg ai reg C19.1
C20 Forged XEP-0425 moderation stored as a message correctness fixed: rooms in v1.2.0 (292016a5), 1:1 in v1.2.1 (95ef9888) yes ✅ fixed ej ai
C21 Stream-error replay loop with no backoff correctness fixed in v1.2.0 (dc48ac80) yes 🟡 partly: late stream end: last-sent stanza dropped, offending one replayed, legit iqs lost ej ai
C22 Post-auth features ignored on SASL2/Bind 2 (roster ver, pre-approval) correctness fixed in v1.2.0 (8b25b7d3) yes ✅ fixed pr pr 2 ej ej 2 ai ai 2
C23 message send neither validates nor prepares JIDs correctness fixed in v1.2.0 (246a66fe) yes ✅ fixed pr ej ai
C24 Stale vCard4 retry wipes the name (Prosody) correctness fixed in v1.2.0 (6b9bac06) yes ✅ fixed pr
C25 account unregister never answers on ejabberd; redial loop correctness fixed in v1.2.0 (1dff6016) yes ✅ fixed ai
C26 Forwarded <message/> in urn:xmpp:forward:0 namespace correctness fixed in v1.2.0 (86ccda9a) yes ✅ fixed pr ej ai
C27 XEP-0440 rules 4/5 not enforced on SASL2 correctness fixed in v1.2.0 (c186eaa7) yes ✅ fixed pr ej ai
C28 Over-limit IQ answer dropped instead of policy-violation correctness fixed in v1.2.0 (70aae84e) yes ✅ fixed pr ej ai
C29 iap / happy_eyeballs settings never reach the connection correctness fixed in v1.2.0 (5a87d4ec) yes ✅ fixed pr ej ej iap ai ai iap
C30 MUC decline sent to the room, not the occupant inviter correctness fixed in v1.2.0 (616beba4) yes ✅ fixed pr ej reg
C31 Jingle sender refuses peer's session-terminate correctness fixed in v1.2.0 (4d485589) yes ✅ fixed pr ej ai
C32 XEP-0424: @id retraction ignored; refused ones stored as messages correctness fixed in v1.2.0 (64378ebe) yes ✅ fixed pr ej ai
C33 XEP-0444 reaction set not reverted on error correctness fixed in v1.2.0 (5bdefcae) yes ✅ fixed pr ej ai
C3.1 Draft with a character XML cannot carry never synced (bgerror) correctness fixed in v1.2.2 (7dddfd32); confirmed by VM batch 3 on all three servers yes ✅ fixed ej ai
C34 Destroyed room recreated by autojoin on next sign-in correctness fixed in v1.2.2 (1aed459c), follow-up in v1.2.7 (c9421614, the destroyed room's state); autojoin part confirmed by VM batch 2 yes ✅ fixed ej ai
M1 Host slot APIs request slots for empty files minor fixed in v1.2.0 (f396065d) yes ✅ fixed pr ej ai
M2 adhoc list keeps foreign command nodes minor/SHOULD fixed in v1.2.1, ours, reworded (81f4ace7) yes ✅ fixed pr ej ai
M3 thread_parent == thread accepted minor fixed in v1.2.1, upstream's own (6e8203ce) yes ✅ fixed pr ej ai
M4 Foreign-namespace <attachments> read as attachments minor fixed in v1.2.1, ours, reworded (40640d58) yes ✅ fixed ej ai ai reg
M5 get_invoice without disco minor/SHOULD fixed in v1.2.1, upstream's own (6d620727) yes ✅ fixed pr ej
M6 XEP-0472 side issues minor fixed in v1.2.1, upstream's own (2d82b42d) yes ✅ fixed pr ej ai ai reg
M7 XEP-0501 entry lacks atom:author minor fixed in v1.2.1, ours, reworded (5e8b4565) yes ✅ fixed ej ai
M8 Forged roster push gets no IQ reply minor fixed in v1.2.1, upstream's own (4ac96afd) yes ✅ fixed pr ej
M9 <r/> unanswered ~50 min without declaring the stream dead minor not reproduced, no change no –
M10 XEP-0410 self-pings rooms already left minor fixed in v1.2.1, upstream's own (7a177c07) yes ✅ fixed pr
M11 RSM <count> hidden minor fixed in v1.2.1, upstream's own (6b9ba1fc) yes ✅ fixed pr ej ai ai 2
M12 untrust_certificate for a registration domain fails minor not reproduced, no change no –
M13 tackyd-json build unstamped (version 0.1, caps node tacky.example) minor fixed in v1.2.1, upstream's own (761c0bb0) yes ✅ fixed pr pr 2 ej ai ai 2
M14 OTR whitespace tag kept in stored body minor fixed in v1.2.1, upstream's own (60daed8b) yes ✅ fixed pr ej ai
M15 Duplicate vCard gets for MUC avatars minor fixed in v1.2.1, upstream's own (7e939060) yes ✅ fixed pr ej
M16 Republishing another device's bookmark adds <nick> minor fixed in v1.2.1, ours, reworded (318f210b) yes ✅ fixed ej ai
M17 Stale store state after server-side deletes minor not changed (design; roster part is S7) no –
M18 Replayed sealed items dropped with no debug line minor partly fixed, upstream's own (86b86680) yes 🟡 partly: replayed older sealed draft still dropped with no debug line (chatsync.tcl ~1137) pr ej
M19 Own call-invite row says joined with no call minor fixed in v1.2.1, upstream's own (c24cddf6) yes ✅ fixed ej
M20 tls-server-end-point computed for Ed25519 certs minor not a bug: documented (625d4462) no –
M21 PIE import oddities minor fixed in v1.2.1, ours, reworded (ddde3fc9) yes ✅ fixed ej ai
M22 Refused accept_invite leaves its autojoin bookmark minor fixed in v1.2.1, upstream's own (da2984cc) yes ✅ fixed pr ej
M23 OMEMO list/store hygiene minor partly fixed, upstream's own (d99bcf28) yes 🟡 partly: no per-device forget (forget_inactive only); fresh stores still add own devices pr
M24 XEP-0377 report stanza-id by= (untested) minor not changed (decision) no –
M25 INFO-level oddities (live-location, pep-expiry, poll, MUC/Sub, XEP-0511) minor partly fixed, upstream's own (3dad47ab, c4d00bc9, e364005c, e9379baf, 2336d35a) yes 🟡 partly: other device's correction of a peer's live location stored as our outgoing live row pr pr 2 pr 3 ej ej 2 ej 3 ej live ej mucsub ej reg ai mucsub ai reg

Results

Batch 5: 199 runs, libtacky develop 65a31465 (tackyd-json-develop-65a31465) against slixmpp on the three servers, PR #28 (vm/batch-5). Run verdicts: 187 pass, 9 fail, 3 na (peer or harness, each rerun).

  • The 67 retested rows: ✅ 62 fixed, 🟡 5 partly (S3, C21, M18, M23, M25), ❌ 0 still there, ➖ 0 not reachable. Links: pr Prosody, ej ejabberd, ai anotherim-server; reg a regression run; =0, iap, R2, live, mucsub the part a run covers.
  • Fixed rows with a caveat: S12 is shown on Prosody (the run fails only on Prosody keeping the forged element, a server issue); ejabberd strips the forged id itself. M11's MAM <count> is checked on ejabberd and anotherim-server; Prosody's MAM <fin/> carries none. C30 can't be reached on ejabberd (it names the inviter by real JID); its regression run there passes. C17 R2 is read from runs with OMEMO on (ai, and the ej S2 run). Two fail verdicts are not these rows: ej C8/M16 run (C8 (b), notify get, ruled not a bug) and the ej M19 run (C7's Dino invite id, kept on purpose).
  • New findings:
    • C21.1: a late stream end drops the wrong stanza. anotherim-server sent <invalid-from/> 0.94 s after the forged message; libtacky dropped the last stanza sent (iq 170), replayed the forged one on the next session, and lost legitimate iqs (MAM page, bundle fetch) (174303).
    • C19.1 (minor): IsDuplicate's content fallback for id-less stanzas groups by calendar second, so two copies 15 ms apart across a second boundary are stored as two rows (173815; the rerun 173923 merged them).
  • Regressions: every check passes except C19.1.
Retest of the bugs marked fixed in #1 (batch 5, headless, #1's method), and a check that the fixes broke nothing nearby. Results go here; #1 keeps its original evidence and gets a link back once a row is confirmed. The #9 retest with the GUI VMs (batch 6) is #25. ## Versions | | version | |---|---| | libtacky | **v1.2.7** (`49b4c635`, 2026-11-10); develop has 5 more commits toward 1.2.8 (room invites, `65a31465`) | | anotherim-js | **0.8.0** (`a9d303a2`, libtacky v1.2.7); develop has 3 more (XEP-0245 `/me` drawn as an action, b187c257 citing this repo's batch 3; the undecryptable line) | | servers / peers | unchanged since the original runs: Prosody 13.0.7, ejabberd 26.09, anotherim-server `master@b9e675dd`; slixmpp (#1) | ## Batch 5: #1 retest (headless, #1's method) libtacky under test: **develop** (newer than v1.2.7), built as `tackyd-json-develop-<sha>`; the exact commit is noted here when the batch starts. The interop runs of #1: libtacky's tackyd-json against slixmpp on the three servers, proof in `client.log` / `client-events.log` / `peer-slixmpp.log` / `server.log`, branch `vm/batch-5`. - **Scope:** every #1 bug marked fixed (v1.2.0, v1.2.1, v1.2.2: S1, S2, S4–S13, C1–C11, C13–C34, C3.1, M1–M8, M10, M11, M13–M16, M19, M21, M22) and partly fixed (S3, C8, M18, M23, M25), on the servers it was seen on. A pass needs the original run's scenario to show the fixed behaviour; a row the old run can't reach any more gets a new scenario. - **Regressions:** for each fix, the neighbouring behaviour its commit touched (e.g. S2 sealed signals still delivered, C19 real duplicates still merged, S10 valid URIs still parse, C21 a real stream error still reconnects), one run each. - **Not retested:** C12 (documented deviation; reproduced again in batch 4), M9, M12, M17, M20, M24 (not reproduced / decisions). ## All #1 bugs Every bug of #1 (its Contents table), with the status as of libtacky develop `65a31465` (no newer commits or releases, and no new comments on #1, at 2026-11-10 ~17:00 UTC). **Retest** yes = fixed or partly fixed upstream (67 of 73); the rest stay listed, not run. Result: ⏳ pending, then ✅ fixed / 🟡 partly / ❌ still there, with the run. | # | Bug | Severity | Status (2026-11-10, libtacky develop `65a31465`) | Retest | Result | |---|---|---|---|---|---| | S1 | Call invites and meeting messages bypass OMEMO | security/privacy | fixed in v1.2.1, upstream's own ([7559ecfc](https://dev.another.im/another-im/libtacky/commit/7559ecfc3a5f2682934b668267381e2aca77d8af), [9b1e961b](https://dev.another.im/another-im/libtacky/commit/9b1e961b6bba6c2d24242eca5e17f63d3ba5905e)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182353-XEP-0483-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164110-XEP-0483-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171421-XEP-0482-slixmpp-anotherim-server/run.toml) [ai reg 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-183644-XEP-0483-slixmpp-anotherim-server/run.toml) | | S2 | Chat state, receipt request and markable in clear beside OMEMO 2 (XEP-0420) | security/privacy | fixed in v1.2.1, ours verbatim ([810c609e](https://dev.another.im/another-im/libtacky/commit/810c609e5339c8d19b51b2b97809626b8cb13550)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171534-XEP-0420-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182017-XEP-0420-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164241-XEP-0420-slixmpp-anotherim-server/run.toml) | | S3 | SIMS file metadata in clear beside legacy OMEMO ciphertext | security/privacy | partly fixed: opt-out setting, default unchanged ([801f9533](https://dev.another.im/another-im/libtacky/commit/801f9533fed1a4b744b4bc2bad1dafdfca61e65d)) | yes | 🟡 partly: default (legacy_file_metadata unset) still sends SIMS name/type beside OMEMO 0.3; =0 leaks nothing [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182729-XEP-0384-slixmpp-ejabberd/run.toml) [ej =0](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-183007-XEP-0384-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164618-XEP-0384-slixmpp-anotherim-server/run.toml) [ai =0](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164633-XEP-0384-slixmpp-anotherim-server/run.toml) | | S4 | Fake room join at a contact's bare JID turns off 1:1 OMEMO for good | security/privacy | fixed in v1.2.1, ours verbatim ([065b273b](https://dev.another.im/another-im/libtacky/commit/065b273b9e93f84402c91ba50befa55bf34cb71c)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170612-XEP-0463-slixmpp-ejabberd/run.toml) [ej 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170745-XEP-0384-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164934-XEP-0463-slixmpp-anotherim-server/run.toml) | | S5 | CAPTCHA inline BoB data not hash/size/type checked | security/privacy | fixed in v1.2.1, ours verbatim ([03b0c666](https://dev.another.im/another-im/libtacky/commit/03b0c666e626514a9a9dd305cef3cfc31aeeeb60)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172012-XEP-0158-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171558-XEP-0158-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165112-XEP-0158-slixmpp-anotherim-server/run.toml) [ai 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165347-XEP-0221-slixmpp-anotherim-server/run.toml) | | S6 | spans-0 fallback strip hides arbitrary text | security/privacy | fixed in v1.2.1, ours verbatim ([0b3f2385](https://dev.another.im/another-im/libtacky/commit/0b3f2385ddbf351c0589ce5c5a22bccfe3d46501)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172126-urn-tacky-spans-0-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171847-urn-tacky-spans-0-slixmpp-ejabberd/run.toml) [ej reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171900-urn-tacky-spans-0-slixmpp-ejabberd/run.toml) | | S7 | XEP-0100: a user JID posing as a gateway gets into the roster | security/privacy | fixed in v1.2.1, ours verbatim ([c9c3ae27](https://dev.another.im/another-im/libtacky/commit/c9c3ae276f40dc456ffb529821e6763e2ecae2e0)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172216-XEP-0100-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170858-XEP-0100-slixmpp-ejabberd/run.toml) | | S8 | `geoloc stop` overtaken by a stale republish | security/privacy | fixed in v1.2.1, ours verbatim ([ba1f07cf](https://dev.another.im/another-im/libtacky/commit/ba1f07cfa28177be1c52b0246d978cb8ae918d75)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172211-XEP-0080-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165457-XEP-0080-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165614-XEP-0080-slixmpp-anotherim-server/run.toml) | | S9 | OTR ssid/fingerprint mangled by Tcl `expr` (`Inf`) | security/privacy | fixed in v1.2.1, ours verbatim ([10ca7f9f](https://dev.another.im/another-im/libtacky/commit/10ca7f9f7f981d518ccfafbb34e7419b76de457b)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171039-XEP-0364-slixmpp-ejabberd/run.toml) [pr reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173837-XEP-0364-slixmpp-prosody/run.toml) | | S10 | `parse_uri` splits a decoded `?` (link spoofing), accepts ports | security/privacy | fixed in v1.2.1, ours verbatim ([e706c4ad](https://dev.another.im/another-im/libtacky/commit/e706c4ad7a24775d051c6d3413bcbfcffbfd1505)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172335-XEP-0147-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171452-XEP-0147-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170023-XEP-0147-slixmpp-anotherim-server/run.toml) | | S11 | XEP-0227 export: every PEP node open; vcard-temp as a PEP node | security/privacy | fixed in v1.2.0 ([0213e2ea](https://dev.another.im/another-im/libtacky/commit/0213e2eafc6ba94aed38caff9c5e5a2c6b674f4d)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172454-XEP-0227-tackyd-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171215-XEP-0227-tackyd-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170252-XEP-0227-tackyd-anotherim-server/run.toml) | | S12 | Peer can choose our stanza-id (forged `by=` own account) | security/privacy | fixed in v1.2.0 ([267e5bc4](https://dev.another.im/another-im/libtacky/commit/267e5bc43557fe0d33058a15115dcfbbb38f29af)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172557-XEP-0359-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171237-XEP-0359-slixmpp-ejabberd/run.toml) | | S13 | Secrets in host-facing output (sm `<Ack>`, XML console) | security/privacy | fixed in v1.2.1, ours verbatim ([fd8de84e](https://dev.another.im/another-im/libtacky/commit/fd8de84e543c2783e653a877353637332a4fd492)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172719-XEP-0198-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172109-XEP-0198-slixmpp-ejabberd/run.toml) | | C1 | Invalid jinglepub `from` throws, message lost | correctness | fixed in v1.2.1, ours verbatim ([7efc7c82](https://dev.another.im/another-im/libtacky/commit/7efc7c8273d516dab5100d4c9d4a9430abfbc538)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164224-XEP-0358-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172304-XEP-0358-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170408-XEP-0358-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170440-XEP-0358-slixmpp-anotherim-server/run.toml) | | C2 | IBB error: no `<close/>`, 60 s stall (callback arity) | correctness | fixed in v1.2.1, ours, reworded ([01f262a2](https://dev.another.im/another-im/libtacky/commit/01f262a25952cce93342f8f2ea457058d1a7aea9)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164342-XEP-0047-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172437-XEP-0047-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170635-XEP-0047-slixmpp-anotherim-server/run.toml) | | C3 | Mention offsets not shifted after XmlText strips chars | correctness | fixed in v1.2.1, ours verbatim ([67d627cf](https://dev.another.im/another-im/libtacky/commit/67d627cf78a6b488f703615d89a495a13eae88ed)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164444-XEP-0426-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172736-XEP-0426-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170800-XEP-0426-slixmpp-anotherim-server/run.toml) | | C4 | Subject-only reply fallback treated as whole-body; reply dropped | correctness | fixed in v1.2.1, ours verbatim ([77ea7932](https://dev.another.im/another-im/libtacky/commit/77ea793237cdc95b56981ec9d35464623ee19b04)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164520-XEP-0428-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173001-XEP-0428-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170859-XEP-0428-slixmpp-anotherim-server/run.toml) | | C5 | service-0 notices raise `notify <Notify>` | correctness | fixed in v1.2.1, ours narrowed ([659997ee](https://dev.another.im/another-im/libtacky/commit/659997ee53dbab10f7fe6658e2f440fbf5c6aaaf)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164604-urn-tacky-service-0-slixmpp-prosody/run.toml) [pr reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180108-urn-tacky-silent-0-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173021-urn-tacky-service-0-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170949-urn-tacky-service-0-slixmpp-anotherim-server/run.toml) | | C6 | Room caption folded by origin-id instead of stanza-id | correctness | fixed in v1.2.1, ours verbatim ([8de65a15](https://dev.another.im/another-im/libtacky/commit/8de65a15f618808b83af3fcc202015acfb17b92c)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164741-XEP-0367-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173247-XEP-0367-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171145-XEP-0367-slixmpp-anotherim-server/run.toml) | | C7 | XEP-0482 reject uses the wrong ids | correctness | fixed in v1.2.1, ours without the invite-id change ([6f004395](https://dev.another.im/another-im/libtacky/commit/6f0043957278d104575714c31edddef748b5f93d)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164911-XEP-0482-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173336-XEP-0482-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171319-XEP-0482-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171421-XEP-0482-slixmpp-anotherim-server/run.toml) | | C8 | XEP-0492 `<advanced/>` dropped on rewrite | correctness | fixed: v1.2.1 part ([e576b749](https://dev.another.im/another-im/libtacky/commit/e576b749)), the rest in v1.2.4 ([7912074c](https://dev.another.im/another-im/libtacky/commit/7912074c), attribute-free fallback, alpha1 `<advanced/>` kept) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165005-XEP-0492-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173530-XEP-0492-slixmpp-ejabberd/run.toml) [ej 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173656-XEP-0492-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171621-XEP-0492-slixmpp-anotherim-server/run.toml) [ai 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171757-XEP-0492-slixmpp-anotherim-server/run.toml) | | C9 | Geoloc on Prosody: own node `<delete/>` stops sharing for good | correctness | fixed in v1.2.1, ours, reworded ([0df268dd](https://dev.another.im/another-im/libtacky/commit/0df268ddee3346d29a5b5270c01ca4e12d21fd6a)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164058-XEP-0080-slixmpp-prosody/run.toml) [pr reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175929-XEP-0080-slixmpp-prosody/run.toml) | | C10 | XEP-0470 attachments node made without max_items (own reaction evicted) | correctness | fixed in v1.2.1, ours, reworded ([707ddaf2](https://dev.another.im/another-im/libtacky/commit/707ddaf2246db2940b7ff27665b6d53ef56d4922)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165207-XEP-0470-slixmpp-prosody/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182107-XEP-0470-slixmpp-anotherim-server/run.toml) | | C11 | pubsub publish/create ids through `expr` (`1E…`→`Inf`) | correctness | fixed in v1.2.1, upstream's own ([4a00f894](https://dev.another.im/another-im/libtacky/commit/4a00f894c4b948d4f3b065d6b5e9cee418edb757)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165303-XEP-0060-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174025-XEP-0060-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172059-XEP-0060-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172106-XEP-0060-slixmpp-anotherim-server/run.toml) | | C12 | XEP-0153 photo hash advertised before own vCard fetched | correctness | not changed: documented deviation ([bc534bf0](https://dev.another.im/another-im/libtacky/commit/bc534bf0)); reproduced by VM batch 4 on all three servers (Dino, Kaidan) | no | – | | C13 | SIMS `<file/>` lacks `<hash/>` and `<desc/>` | correctness | fixed in v1.2.1, ours, reworded ([5a194a64](https://dev.another.im/another-im/libtacky/commit/5a194a643011af548243633f1755bc92fd17222b)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165339-XEP-0385-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174033-XEP-0385-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172246-XEP-0385-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172259-XEP-0385-slixmpp-anotherim-server/run.toml) | | C14 | send_album source messages lack sfs fallback marker | correctness | fixed in v1.2.1, ours, reworded ([84347d15](https://dev.another.im/another-im/libtacky/commit/84347d154566fa1bcfa8b629dc2f75570b0bf1bb)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165423-XEP-0447-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174045-XEP-0447-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172424-XEP-0447-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172436-XEP-0447-slixmpp-anotherim-server/run.toml) | | C15 | Outgoing inline thumbnails have no size cap | correctness | fixed in v1.2.1, ours, reworded ([3c58decb](https://dev.another.im/another-im/libtacky/commit/3c58decbde288536ecc89fecd8319c56a599ca8e)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165506-XEP-0264-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174244-XEP-0264-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172626-XEP-0264-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172639-XEP-0264-slixmpp-anotherim-server/run.toml) | | C16 | disco#info lacks `urn:ietf:params:xml:ns:vcard-4.0` | correctness | fixed in v1.2.1, ours, reworded ([6dd6be8f](https://dev.another.im/another-im/libtacky/commit/6dd6be8f5e32c9000b027494241be0d72d3c3303)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165548-XEP-0292-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174258-XEP-0292-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172901-XEP-0292-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172909-XEP-0292-slixmpp-anotherim-server/run.toml) | | C17 | disco#info lacks `urn:xmpp:eme:0`; `name=` on listed EME ns | correctness | fixed in v1.2.1, ours, reworded ([fca586fb](https://dev.another.im/another-im/libtacky/commit/fca586fb50cd3f8611e9ecf5702f3540825c05ae)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165623-XEP-0380-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174307-XEP-0380-slixmpp-ejabberd/run.toml) [ej R2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182017-XEP-0420-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173032-XEP-0380-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173040-XEP-0380-slixmpp-anotherim-server/run.toml) | | C18 | microblog publish leaves `pubsub#notify_retract` false | correctness | fixed in v1.2.1, ours, reworded ([d2c3a50d](https://dev.another.im/another-im/libtacky/commit/d2c3a50d1f92a2f75a02e831e5dad4c87cf35496)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174330-XEP-0277-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173335-XEP-0277-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173348-XEP-0277-slixmpp-anotherim-server/run.toml) | | C19 | messagestore IsDuplicate merges different messages | correctness | fixed in v1.2.1, upstream's own ([752e4825](https://dev.another.im/another-im/libtacky/commit/752e4825b00a4cc3739fab591d8557f3c03fcead)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174343-XEP-0249-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173551-XEP-0249-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173923-XEP-0359-slixmpp-anotherim-server/run.toml) [ai reg C19.1](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173815-XEP-0359-slixmpp-anotherim-server/run.toml) | | C20 | Forged XEP-0425 moderation stored as a message | correctness | fixed: rooms in v1.2.0 ([292016a5](https://dev.another.im/another-im/libtacky/commit/292016a5f536d04f0a93c70da6c0ae5038ec875e)), 1:1 in v1.2.1 ([95ef9888](https://dev.another.im/another-im/libtacky/commit/95ef9888afff6f74923872f1dd5d36d590872912)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164315-XEP-0425-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174121-XEP-0425-slixmpp-anotherim-server/run.toml) | | C21 | Stream-error replay loop with no backoff | correctness | fixed in v1.2.0 ([dc48ac80](https://dev.another.im/another-im/libtacky/commit/dc48ac80eaabb0e699a82eed0f563305c9885486)) | yes | 🟡 partly: late stream end: last-sent stanza dropped, offending one replayed, legit iqs lost [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164427-RFC-6120-tackyd-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174303-RFC-6120-tackyd-anotherim-server/run.toml) | | C22 | Post-auth features ignored on SASL2/Bind 2 (roster ver, pre-approval) | correctness | fixed in v1.2.0 ([8b25b7d3](https://dev.another.im/another-im/libtacky/commit/8b25b7d35f25411bb5ff428e7988b7645e89bfbf)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165724-RFC-6121-slixmpp-prosody/run.toml) [pr 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165811-XEP-0237-tackyd-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164829-XEP-0237-tackyd-ejabberd/run.toml) [ej 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164928-RFC-6121-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174647-XEP-0237-tackyd-anotherim-server/run.toml) [ai 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174725-RFC-6121-slixmpp-anotherim-server/run.toml) | | C23 | `message send` neither validates nor prepares JIDs | correctness | fixed in v1.2.0 ([246a66fe](https://dev.another.im/another-im/libtacky/commit/246a66fee0ba2464735a1696ed1b68727e5f17b3)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165903-RFC-7622-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-164056-RFC-7622-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175213-RFC-7622-slixmpp-anotherim-server/run.toml) | | C24 | Stale vCard4 retry wipes the name (Prosody) | correctness | fixed in v1.2.0 ([6b9bac06](https://dev.another.im/another-im/libtacky/commit/6b9bac06e7a418e93426c6cedf59f155c1e12f98)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170031-XEP-0054-slixmpp-prosody/run.toml) | | C25 | `account unregister` never answers on ejabberd; redial loop | correctness | fixed in v1.2.0 ([1dff6016](https://dev.another.im/another-im/libtacky/commit/1dff601618468e4b8a87a66da7c9141ed7dab8e8)) | yes | ✅ fixed [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175406-XEP-0077-tackyd-anotherim-server/run.toml) | | C26 | Forwarded `<message/>` in urn:xmpp:forward:0 namespace | correctness | fixed in v1.2.0 ([86ccda9a](https://dev.another.im/another-im/libtacky/commit/86ccda9a69a51b1b27d6505b344be75384b7e4b8)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170153-XEP-0297-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165037-XEP-0297-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175002-XEP-0297-slixmpp-anotherim-server/run.toml) | | C27 | XEP-0440 rules 4/5 not enforced on SASL2 | correctness | fixed in v1.2.0 ([c186eaa7](https://dev.another.im/another-im/libtacky/commit/c186eaa7524baf109f828ec72dfb163695b61030)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170253-XEP-0440-tackyd-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165126-XEP-0440-tackyd-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175631-XEP-0440-tackyd-anotherim-server/run.toml) | | C28 | Over-limit IQ answer dropped instead of policy-violation | correctness | fixed in v1.2.0 ([70aae84e](https://dev.another.im/another-im/libtacky/commit/70aae84ed61a974e0878a1c7c7d760054ff5effe)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170506-XEP-0478-tackyd-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165411-XEP-0478-tackyd-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175837-XEP-0478-tackyd-anotherim-server/run.toml) | | C29 | `iap` / `happy_eyeballs` settings never reach the connection | correctness | fixed in v1.2.0 ([5a87d4ec](https://dev.another.im/another-im/libtacky/commit/5a87d4ec40de5e96698ac7229e074fd191c0cd0e)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170815-XEP-0495-tackyd-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165552-XEP-0495-tackyd-ejabberd/run.toml) [ej iap](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-183421-XEP-0509-tackyd-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180129-XEP-0495-tackyd-anotherim-server/run.toml) [ai iap](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180303-XEP-0509-tackyd-anotherim-server/run.toml) | | C30 | MUC decline sent to the room, not the occupant inviter | correctness | fixed in v1.2.0 ([616beba4](https://dev.another.im/another-im/libtacky/commit/616beba4dd6d69eedf746ff8a61b0aaf8982238f)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171016-XEP-0045-slixmpp-prosody/run.toml) [ej reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-183238-XEP-0045-slixmpp-ejabberd/run.toml) | | C31 | Jingle sender refuses peer's session-terminate | correctness | fixed in v1.2.0 ([4d485589](https://dev.another.im/another-im/libtacky/commit/4d4855899137ccd0d53ce478d346dbd717e91f2f)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171117-XEP-0166-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165833-XEP-0166-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180509-XEP-0166-slixmpp-anotherim-server/run.toml) | | C32 | XEP-0424: @id retraction ignored; refused ones stored as messages | correctness | fixed in v1.2.0 ([64378ebe](https://dev.another.im/another-im/libtacky/commit/64378ebe1d675c20e9b438d007b9f1e8b7cf5e2e)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171230-XEP-0424-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-165906-XEP-0424-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180609-XEP-0424-slixmpp-anotherim-server/run.toml) | | C33 | XEP-0444 reaction set not reverted on error | correctness | fixed in v1.2.0 ([5bdefcae](https://dev.another.im/another-im/libtacky/commit/5bdefcae3879db1b40831bdf1317839e2971ab32)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171349-XEP-0444-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170336-XEP-0444-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180727-XEP-0444-slixmpp-anotherim-server/run.toml) | | C3.1 | Draft with a character XML cannot carry never synced (`bgerror`) | correctness | fixed in v1.2.2 ([7dddfd32](https://dev.another.im/another-im/libtacky/commit/7dddfd32)); confirmed by VM batch 3 on all three servers | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-181731-urn-tacky-drafts-0-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180942-urn-tacky-drafts-0-slixmpp-anotherim-server/run.toml) | | C34 | Destroyed room recreated by autojoin on next sign-in | correctness | fixed in v1.2.2 ([1aed459c](https://dev.another.im/another-im/libtacky/commit/1aed459c)), follow-up in v1.2.7 ([c9421614](https://dev.another.im/another-im/libtacky/commit/c9421614), the destroyed room's state); autojoin part confirmed by VM batch 2 | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-181839-XEP-0402-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-181348-XEP-0402-slixmpp-anotherim-server/run.toml) | | M1 | Host slot APIs request slots for empty files | minor | fixed in v1.2.0 ([f396065d](https://dev.another.im/another-im/libtacky/commit/f396065d18d5b98334ffa0c9cec7fd27dcee8f91)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172820-XEP-0363-tackyd-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170432-XEP-0363-tackyd-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-181554-XEP-0363-tackyd-anotherim-server/run.toml) | | M2 | `adhoc list` keeps foreign command nodes | minor/SHOULD | fixed in v1.2.1, ours, reworded ([81f4ace7](https://dev.another.im/another-im/libtacky/commit/81f4ace7b5eac6abe978ac9ef69e98c2b34181bb)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172937-XEP-0050-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174721-XEP-0050-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-181632-XEP-0050-slixmpp-anotherim-server/run.toml) | | M3 | `thread_parent == thread` accepted | minor | fixed in v1.2.1, upstream's own ([6e8203ce](https://dev.another.im/another-im/libtacky/commit/6e8203ce99a8c78b107a863bc99a6d9626800441)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173018-XEP-0201-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174734-XEP-0201-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-181845-XEP-0201-slixmpp-anotherim-server/run.toml) | | M4 | Foreign-namespace `<attachments>` read as attachments | minor | fixed in v1.2.1, ours, reworded ([40640d58](https://dev.another.im/another-im/libtacky/commit/40640d5891b36cd863e0eb0c135b52dbcb2692c0)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174812-XEP-0470-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182036-XEP-0470-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182107-XEP-0470-slixmpp-anotherim-server/run.toml) | | M5 | `get_invoice` without disco | minor/SHOULD | fixed in v1.2.1, upstream's own ([6d620727](https://dev.another.im/another-im/libtacky/commit/6d620727e74a44d5cd8efb65e73461436fc819aa)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173127-XEP-0518-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175624-XEP-0518-slixmpp-ejabberd/run.toml) | | M6 | XEP-0472 side issues | minor | fixed in v1.2.1, upstream's own ([2d82b42d](https://dev.another.im/another-im/libtacky/commit/2d82b42db6112c98fbab3ecbe5a25e7661ab8588)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173356-XEP-0472-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174829-XEP-0472-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182334-XEP-0472-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182349-XEP-0472-slixmpp-anotherim-server/run.toml) | | M7 | XEP-0501 entry lacks atom:author | minor | fixed in v1.2.1, ours, reworded ([5e8b4565](https://dev.another.im/another-im/libtacky/commit/5e8b45652760840265cc92fee9de266f7b418053)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175151-XEP-0501-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182605-XEP-0501-slixmpp-anotherim-server/run.toml) | | M8 | Forged roster push gets no IQ reply | minor | fixed in v1.2.1, upstream's own ([4ac96afd](https://dev.another.im/another-im/libtacky/commit/4ac96afd0abfcceec2fcb7ddfee308b3f25b3156)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-172216-XEP-0100-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-170858-XEP-0100-slixmpp-ejabberd/run.toml) | | M9 | `<r/>` unanswered ~50 min without declaring the stream dead | minor | not reproduced, no change | no | – | | M10 | XEP-0410 self-pings rooms already left | minor | fixed in v1.2.1, upstream's own ([7a177c07](https://dev.another.im/another-im/libtacky/commit/7a177c0735c25ae65960f37ee35f0f570a9c15a0)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173451-XEP-0410-slixmpp-prosody/run.toml) | | M11 | RSM `<count>` hidden | minor | fixed in v1.2.1, upstream's own ([6b9ba1fc](https://dev.another.im/another-im/libtacky/commit/6b9ba1fc2ef58fe93d2ed6008280ebd355a1821d)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173604-XEP-0059-tackyd-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175328-XEP-0059-tackyd-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182913-XEP-0059-tackyd-anotherim-server/run.toml) [ai 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-182800-XEP-0059-tackyd-anotherim-server/run.toml) | | M12 | `untrust_certificate` for a registration domain fails | minor | not reproduced, no change | no | – | | M13 | tackyd-json build unstamped (version 0.1, caps node tacky.example) | minor | fixed in v1.2.1, upstream's own ([761c0bb0](https://dev.another.im/another-im/libtacky/commit/761c0bb0c567fe5a675582766d9cd7c4b35e73ff)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173700-XEP-0115-slixmpp-prosody/run.toml) [pr 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173750-XEP-0092-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175612-XEP-0092-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-183047-XEP-0115-slixmpp-anotherim-server/run.toml) [ai 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-183113-XEP-0092-slixmpp-anotherim-server/run.toml) | | M14 | OTR whitespace tag kept in stored body | minor | fixed in v1.2.1, upstream's own ([60daed8b](https://dev.another.im/another-im/libtacky/commit/60daed8b71d95339ed2cc1ebdce6ea7e1551d877)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173837-XEP-0364-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171039-XEP-0364-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-183215-XEP-0364-slixmpp-anotherim-server/run.toml) | | M15 | Duplicate vCard gets for MUC avatars | minor | fixed in v1.2.1, upstream's own ([7e939060](https://dev.another.im/another-im/libtacky/commit/7e939060af2d7805d9b59718126a9d223d6e906a)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173952-XEP-0486-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175343-XEP-0486-slixmpp-ejabberd/run.toml) | | M16 | Republishing another device's bookmark adds `<nick>` | minor | fixed in v1.2.1, ours, reworded ([318f210b](https://dev.another.im/another-im/libtacky/commit/318f210b83e735fe4c3617fbaecdfa9d10b5ce11)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173656-XEP-0492-slixmpp-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-171757-XEP-0492-slixmpp-anotherim-server/run.toml) | | M17 | Stale store state after server-side deletes | minor | not changed (design; roster part is S7) | no | – | | M18 | Replayed sealed items dropped with no debug line | minor | partly fixed, upstream's own ([86b86680](https://dev.another.im/another-im/libtacky/commit/86b866802e0cd11eafbe11920ac470c9fbf56a91)) | yes | 🟡 partly: replayed older sealed draft still dropped with no debug line (chatsync.tcl ~1137) [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174036-urn-tacky-sealed-1-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180150-urn-tacky-sealed-1-slixmpp-ejabberd/run.toml) | | M19 | Own call-invite row says joined with no call | minor | fixed in v1.2.1, upstream's own ([c24cddf6](https://dev.another.im/another-im/libtacky/commit/c24cddf6a15f1243ca9e0d50307bc42efd8bbebe)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175816-XEP-0482-slixmpp-ejabberd/run.toml) | | M20 | tls-server-end-point computed for Ed25519 certs | minor | not a bug: documented ([625d4462](https://dev.another.im/another-im/libtacky/commit/625d4462f55ed11b538dd81a4290ba820a78eb0a)) | no | – | | M21 | PIE import oddities | minor | fixed in v1.2.1, ours, reworded ([ddde3fc9](https://dev.another.im/another-im/libtacky/commit/ddde3fc9c37bb192aab8b912d1375e4a9de54ed6)) | yes | ✅ fixed [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180326-urn-tacky-pie-0-tackyd-ejabberd/run.toml) [ai](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-183348-urn-tacky-pie-0-tackyd-anotherim-server/run.toml) | | M22 | Refused `accept_invite` leaves its autojoin bookmark | minor | fixed in v1.2.1, upstream's own ([da2984cc](https://dev.another.im/another-im/libtacky/commit/da2984ccbabe722efd7cdd16d4e1c8cd02ee51bc)) | yes | ✅ fixed [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174547-XEP-0249-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175940-XEP-0249-slixmpp-ejabberd/run.toml) | | M23 | OMEMO list/store hygiene | minor | partly fixed, upstream's own ([d99bcf28](https://dev.another.im/another-im/libtacky/commit/d99bcf28d19fcb3d04f2f59fb04dddbc6d907ae1)) | yes | 🟡 partly: no per-device forget (forget_inactive only); fresh stores still add own devices [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175007-XEP-0384-slixmpp-prosody/run.toml) | | M24 | XEP-0377 report `stanza-id by=` (untested) | minor | not changed (decision) | no | – | | M25 | INFO-level oddities (live-location, pep-expiry, poll, MUC/Sub, XEP-0511) | minor | partly fixed, upstream's own ([3dad47ab](https://dev.another.im/another-im/libtacky/commit/3dad47aba847480b7515ca5170a754d374914b15), [c4d00bc9](https://dev.another.im/another-im/libtacky/commit/c4d00bc915ea0cda5ad3d2a73bd43349c103183d), [e364005c](https://dev.another.im/another-im/libtacky/commit/e364005c57925f7efaf9ca5cc0142d73b5f49b48), [e9379baf](https://dev.another.im/another-im/libtacky/commit/e9379baf15dbbe1dbc3cd95e49bb6b4a8b7955b8), [2336d35a](https://dev.another.im/another-im/libtacky/commit/2336d35a2f889f4520e5cd26efb2d771281abc91)) | yes | 🟡 partly: other device's correction of a peer's live location stored as our outgoing live row [pr](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175113-urn-tacky-pep-expiry-0-slixmpp-prosody/run.toml) [pr 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175342-urn-fluux-poll-0-slixmpp-prosody/run.toml) [pr 3](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-175530-XEP-0511-slixmpp-prosody/run.toml) [ej](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180529-urn-tacky-pep-expiry-0-slixmpp-ejabberd/run.toml) [ej 2](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180726-urn-fluux-poll-0-slixmpp-ejabberd/run.toml) [ej 3](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-180839-XEP-0511-slixmpp-ejabberd/run.toml) [ej live](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-181100-urn-tacky-live-location-0-slixmpp-ejabberd/run.toml) [ej mucsub](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-181559-urn-xmpp-mucsub-0-slixmpp-ejabberd/run.toml) [ej reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-181235-urn-xmpp-mucsub-0-slixmpp-ejabberd/run.toml) [ai mucsub](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-183502-urn-xmpp-mucsub-0-slixmpp-anotherim-server/run.toml) [ai reg](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-183542-urn-xmpp-mucsub-0-slixmpp-anotherim-server/run.toml) | ## Results Batch 5: 199 runs, libtacky develop `65a31465` (`tackyd-json-develop-65a31465`) against slixmpp on the three servers, [PR #28](https://dev.another.im/another-im/interop/pulls/28) (`vm/batch-5`). Run verdicts: 187 pass, 9 fail, 3 na (peer or harness, each rerun). - **The 67 retested rows:** ✅ 62 fixed, 🟡 5 partly (S3, C21, M18, M23, M25), ❌ 0 still there, ➖ 0 not reachable. Links: pr Prosody, ej ejabberd, ai anotherim-server; `reg` a regression run; `=0`, `iap`, `R2`, `live`, `mucsub` the part a run covers. - **Fixed rows with a caveat:** S12 is shown on Prosody (the run fails only on Prosody keeping the forged element, a server issue); ejabberd strips the forged id itself. M11's MAM `<count>` is checked on ejabberd and anotherim-server; Prosody's MAM `<fin/>` carries none. C30 can't be reached on ejabberd (it names the inviter by real JID); its regression run there passes. C17 R2 is read from runs with OMEMO on (ai, and the ej S2 run). Two fail verdicts are not these rows: ej C8/M16 run (C8 (b), `notify get`, ruled not a bug) and the ej M19 run (C7's Dino invite id, kept on purpose). - **New findings:** - **C21.1**: a late stream end drops the wrong stanza. anotherim-server sent `<invalid-from/>` 0.94 s after the forged message; libtacky dropped the last stanza sent (iq 170), replayed the forged one on the next session, and lost legitimate iqs (MAM page, bundle fetch) ([174303](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-174303-RFC-6120-tackyd-anotherim-server/run.toml)). - **C19.1** (minor): IsDuplicate's content fallback for id-less stanzas groups by calendar second, so two copies 15 ms apart across a second boundary are stored as two rows ([173815](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173815-XEP-0359-slixmpp-anotherim-server/run.toml); the rerun [173923](https://dev.another.im/another-im/interop/src/branch/main/runs/20261110-173923-XEP-0359-slixmpp-anotherim-server/run.toml) merged them). - **Regressions:** every check passes except C19.1.
asxpi changed title from Retest the fixed bugs of #1 and #9 on libtacky v1.2.7 / anotherim-js 0.8.0 to Retest the fixed bugs of #1 on libtacky develop (batch 5) 2026-11-10 16:12:11 +00:00
Sign in to join this conversation.
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
another-im/interop#24
No description provided.