calls: send session-terminate when the media path closes or fails #9

Closed
asxpi wants to merge 0 commits from asxpi/libtacky:fix/calls-terminate-on-media-close into develop
First-time contributor

When the pc reports closed or failed, OnPcState tears the media down
and Finish sends only XEP-0353's . A peer that ends a Jingle
session only on session-terminate (another.im's Android app) keeps
such a call up, its video frozen, after the desktop has hung up.

Tell the peer in Jingle too, as the fatal media error path already
does: session-terminate with success when the path closed, and with
connectivity-error when it failed, once Jingle has started.

Two tests in test_calls_media.tcl check the terminate for both; they
fail without this change. Tested against the Android app: hanging up
on the desktop now ends the call on the phone.

Written and tested on v1.0.0-rc7 (b40975d6); rebased onto develop (7b31417d), where it applies cleanly.

🤖 Generated with Claude Code

When the pc reports closed or failed, OnPcState tears the media down and Finish sends only XEP-0353's <finish/>. A peer that ends a Jingle session only on session-terminate (another.im's Android app) keeps such a call up, its video frozen, after the desktop has hung up. Tell the peer in Jingle too, as the fatal media error path already does: session-terminate with success when the path closed, and with connectivity-error when it failed, once Jingle has started. Two tests in test_calls_media.tcl check the terminate for both; they fail without this change. Tested against the Android app: hanging up on the desktop now ends the call on the phone. Written and tested on v1.0.0-rc7 (b40975d6); rebased onto develop (7b31417d), where it applies cleanly. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
When the pc reports closed or failed, OnPcState tears the media down
and Finish sends only XEP-0353's <finish/>. A peer that ends a Jingle
session only on session-terminate (another.im's Android app) keeps
such a call up, its video frozen, after the desktop has hung up.

Tell the peer in Jingle too, as the fatal media error path already
does: session-terminate with success when the path closed, and with
connectivity-error when it failed, once Jingle has started.

Two tests in test_calls_media.tcl check the terminate for both; they
fail without this change. Tested against the Android app: hanging up
on the desktop now ends the call on the phone.

Assisted-by: Claude:opus-5-5
Owner

Merged by hand into develop (merge commit in the 8411e18f line) and released in v1.0.0-rc10; thank you. PR #10 went in with a review follow-up (6996b1f9: the wire-answer parse under test, a deadline on the poll, the resolve() doc). Closing, since a hand merge is not marked merged here.

Merged by hand into develop (merge commit in the 8411e18f line) and released in v1.0.0-rc10; thank you. PR #10 went in with a review follow-up (6996b1f9: the wire-answer parse under test, a deadline on the poll, the resolve() doc). Closing, since a hand merge is not marked merged here.
ann closed this pull request 2026-10-17 14:58:29 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
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/libtacky!9
No description provided.