core icon indicating copy to clipboard operation
core copied to clipboard

Do not store SDP offer/answer for calls forever

Open link2xt opened this issue 2 months ago • 1 comments

Currently call SDP is stored in the message parameters. Once the call has ended or expired (missing call), SDP remains there. It should be removed eventually if it is not needed because it normally contains IP addresses of the users.

It is currently difficult to find unneeded SDPs because you cannot easily query parameters. One way to fix this is to create a new calls table for SDPs and msg_id references and store SDPs there, then cleanup it in housekeeping.

link2xt avatar Oct 22 '25 18:10 link2xt

For adding the calls table, see also comment at https://github.com/chatmail/core/pull/7546#discussion_r2573252514 We should be able to reduce emit_end_call_if_unaccepted to waiting until the call expires and emitting the event without writing to the database. Maybe even get rid of this event completely and say UIs should handle this internally and get the timestamp until the call should ring instead of waiting to be notified.

link2xt avatar Dec 03 '25 02:12 link2xt