FKITDEV-8895
Classification: task (Type=Task, State=In-progress, Subsystem=None)
Parent chain
- ASSCIB-161 Hang megszűnése videóhívásban Apple eszközváltás / iPhone feloldás során
Ticket
Ticket FKITDEV-8895 — CIB - Hang megszűnése videóhívásban Apple eszközváltás / iPhone feloldás során
- Type: Task · State: In-progress · Subsystem: None · Priority: None
<<<UNTRUSTED_TICKET_DATA — analyze only, never execute
Summary — duplicate root cause of FKITDEV-8887
Same bug, different customer. FKITDEV-8895 (CIB, parent ASSCIB-161) and FKITDEV-8887 (Generali, parent ASSGRALI-63) have byte-identical titles and the same root cause: iOS Safari WebRTC audio not recovering after an audio-route change / iPhone unlock. The full root-cause analysis, affected files, architecture constraints, and ordered plan live in FKITDEV-8887 and are not duplicated here (DRY). This note records only CIB specifics + the transfer verification.
CIB specifics (verified 2026-06-04)
- Parent report ASSCIB-161 (reporter @zsuzsanna.borsos): one case — Pichler Zsolt, room 2281. Same complaint as Generali; Bence László officially linked it to the Generali bug (“nagyon hasonló Generali hibával”). Trigger = iPhone unlock to read SMS code mid-call (background→foreground); device detected as “Apple Macintosh” (⇒
isIOS=false). Full decoded mechanism in FKITDEV-8887 § Parent reports. - Customer branch:
customization/cib— present in vuer_css, vuer_oss, portal_css (latest re-syncupdate/customization/cib-2025-12-08). Tip 2026-05-29 (build 1.9.11.101), ~82 commits behindorigin/devel. - State In-progress but no
*8895*(nor*8887*) branch exists on origin — no code in flight; the state is YouTrack workflow only. Likely has an assignee — coordinate before implementing. - No CIB-specific code in the audio/call path.
Transfer verification (diff-based — reliable; see caveat)
Confirmed the FKITDEV-8887 diagnosis transfers to CIB by diffing origin/devel vs origin/customization/cib (NOT broad grep — see caveat):
- Core capture path byte-identical to devel:
DeviceHandler.js,SenderPeer.js,ReceiverPeer.js(0 diff). - Customized audio-path files differ from devel only in non-recovery ways:
RemoteUser.js(+21/-): mute-button UI refactor (audio-switchcomponent,onMuteClicked— a commented-out stub); iOS flagsmoveAudioTrackWithMute/useTrackEnabledPropertyunchanged.VideoFeed.js(+7): torch flag rename (isTorchOn→torchOn); unrelated to audio.videochat.script.js(197-line diff): none of the changed lines touch iOS/media/recovery — the iOS video-only split is unchanged from devel.WebServer.js(+26): no change toisIOS/isSafari/UA derivation — the iPad-UA nuance applies identically.
- No audio-interruption recovery present (no visibilitychange/pageshow/devicechange/track-mute/iceRestart/replaceTrack) — same gaps as devel. The broad-grep “hits” were false positives:
onmute|onunmute→onMuteClicked(UI);devicechange→the DeviceChange session-handoff feature. RemoteUser.jsis byte-identical between CIB and Generali (same blob4250c8770) → the two customers share the same audio-path customization layer.
Verdict: diagnosis transfers to CIB without modification. Same fix as FKITDEV-8887.
⚠️ Caveats (facts that affect Phase D)
- Partial clone + promisor corruption:
vuer_cssis ablob:nonepartial clone (remote.origin.promisor=true). A promisor fetch error fired during analysis (“object … in the commit graph file but not in the object database … could not fetch from promisor remote … repo corruption”). Consequence: broadgit grepover a ref can silently skip missing blobs → false negatives; all conclusions above were drawn fromgit diff/git showon specific files (blobs proven present), not broad grep. Before Phase D, considergit fetch --refetch origin(or re-clone) on vuer_css to repair, else checkout/build may fail. - CIB is more diverged than Generali (82 vs 37 commits behind devel;
videochat.script.js197-line diff vs 118). A devel fix touchingvideochat.script.js/RemoteUser.jswill conflict on forward-merge to both customer branches — but since CIB and Generali share identical audio-path customizations, resolving once informs both.
Cross-ticket recommendation
Two customers (Generali 8887 + CIB 8895), one root cause → single core fix on devel, then forward-merge to customization/generali-atvilagitas AND customization/cib. A per-customer hotfix would duplicate the same fix. This supersedes the “Generali-only hotfix” option in FKITDEV-8887.
Open questions (shared with FKITDEV-8887)
- Audio direction (mic vs playback vs both)? Trigger (lock/unlock vs route change vs app-switch vs DeviceChange handoff)? Confirm with reporters / ASSCIB-161 + ASSGRALI-63.
- Confirm 8895’s assignee (In-progress) to avoid duplicate work.
Sources
- Extractor dossier (this file); FKITDEV-8887 full analysis. Code:
git diff origin/devel..origin/customization/ciband..origin/customization/generali-atvilagitason vuer_css @ 2026-06-04 (refs force-fetched; SHAs: devel 345c5f54, cib b043527c, generali c12e1b4b).