imsd/implementations
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 0a91050635
imsd, media: aim call audio at logind's seat0 session, not an account named user
imsd-media defaulted AUDIO_USER to `user`, postmarketOS's default
account name, and with no such account a call had no audio on the phone
and noise at the far end, the message only in imsd-media's stderr, at
each call. A field user found it by trial (alyx report 14, 2026-09-20;
ims ledger F14).

Have imsd, as packaged (root, on the system bus), resolve the session
from logind when a call's media starts — the user session active on
seat0 (a greeter is not one) when it has a PipeWire socket — and hand it
to imsd-media as AUDIO_USER; set in imsd's own environment to an
account's name, AUDIO_USER pins that account instead. imsd as packaged
(root, on the system bus) logs the resolution at start, before the first
call, and when a call's media starts.

No session is an empty AUDIO_USER. imsd-media started without the
variable at all keeps `user`: that is an imsd older than 0.3.10, still
running while an upgrade replaces the helper under it, whose calls would
otherwise be silent until the restart, or a hand run.

Tested on the dev phone (KPN) in builds of this series; not every path
has run there.
2026-10-06 14:01:33 +02:00
..
dialerd.cpp imsd 0.2.7 — initial public snapshot 2026-07-22 23:04:21 +02:00
main.cpp imsd, media: aim call audio at logind's seat0 session, not an account named user 2026-10-06 14:01:33 +02:00
media.cpp imsd, media: aim call audio at logind's seat0 session, not an account named user 2026-10-06 14:01:33 +02:00
ofonod.cpp ofonod: keep VoiceCallManager published across imsd restarts; enable on install 2026-09-20 16:58:42 +02:00