UnigramDev/Unigram/develop • 647b668 • 2 files, +19/-12
Harden the descriptor conversion in VoipManager::Start
Read the encryption key with one GetMany instead of 256 GetAt calls through a
property fetched each time. It also clamps to what is there rather than throwing
hresult_out_of_bounds out of Start, and drops a copy via a stack array.
pushStun skips an empty host but pushTurn did not, so a server without IPv6
contributed a TURN entry pointing at nothing.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
UnigramDev/Unigram/develop • 1e7c895 • 2 files, +5/-11
Return the debug info without leaking it
The hand-rolled UTF-8 conversion leaked its buffer on every call and returned it
uninitialized if MultiByteToWideChar failed. The correct one-liner was already
there below it, unreachable — the source of the C4702 warning.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
UnigramDev/Unigram/develop • 2899649 • 2 files, +36/-23
Guard three loose ends in VoipGroupManager
Screencast unmuted the instance directly, leaving m_isMuted stale so IsMuted
reported the opposite of the truth; route it through the setter. A screencast
with no audio to send stays muted, which is what it means.
The quality switch had no default, so an unrecognised value read an
uninitialised local. AddIncomingVideoOutput took get_self on the sink without
checking it, unlike its VoipManager counterpart.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
UnigramDev/Unigram/develop • a1e3ccf • 2 files, +93/-73
Limits popup accessibility
UnigramDev/Unigram/develop • 6393fdb • 1 files, +1/-1
Fix rich messages translation
UnigramDev/Unigram/develop • 7347317 • 1 files, +3/-3
Fix polls/checklists translation
#unigram
Post #20571
48