From 76808d66ab33b180954b745e780f42e97e91c142 Mon Sep 17 00:00:00 2001 From: Ayoub Zayati Date: Fri, 11 Sep 2026 09:26:45 +0200 Subject: [PATCH] fix: Visio list marks only the occurrence holding the running call - EXO-90147 (#408) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prior this change, every occurrence of a recurring series resolved to the same call id — the occurrences all share one conference URL, which is what matchStartedCallId() matches on — so a single running call marked the whole series LIVE: next week's occurrence was announced as happening now, with a "Started less than a minute ago" footer above next week's slot. After this commit, the running call is attributed to a single occurrence — the one nearest in time among those that may hold it, bounded by the join-ahead window the Join button already uses (JOIN_AHEAD_MS, moved to VisioMerge.js so the live window and the join window are the same one). Only that occurrence is marked LIVE. The other occurrences of the series stay listed as upcoming, per the task: only the LIVE state is withdrawn from them. The series still counts as scheduled, so the call is not listed a second time as an ad-hoc one. Three cases the attribution handles deliberately: the occurrence in progress, the one that just ended when a meeting overruns, and the next one when people join early. A running call that no occurrence can hold is not shown — a false "happening now" is the defect being fixed. Testing This webapp has no JS test runner and none is added by this PR: the drawer's merge layer is not covered in CI. The change was verified instead by a Node harness over the real VisioMerge.js module — 11 scenarios (the reported case, overrun, early join, the ±15 min boundary, a stale call, two concurrent series, the no-duplicate-ad-hoc case, and the controls), green at head, each pin mutation-verified against the previous commit. It was also reproduced and checked manually in the drawer. eslint with the repo config is clean on both files; the two vue/multiline-html-element-content-newline warnings at VisioCard.vue:81 pre-exist on the base branch. (cherry picked from commit bc334f4dc7f924afbd972b77bee21533e058ae99) --- .../VisioDrawer/components/VisioCard.vue | 9 +- .../vue-apps/VisioDrawer/js/VisioMerge.js | 120 +++++++++++++++++- 2 files changed, 118 insertions(+), 11 deletions(-) diff --git a/webapp/src/main/webapp/vue-apps/VisioDrawer/components/VisioCard.vue b/webapp/src/main/webapp/vue-apps/VisioDrawer/components/VisioCard.vue index 8bc4cea8e..0fb3c841b 100644 --- a/webapp/src/main/webapp/vue-apps/VisioDrawer/components/VisioCard.vue +++ b/webapp/src/main/webapp/vue-apps/VisioDrawer/components/VisioCard.vue @@ -244,17 +244,10 @@ along with this program. If not, see .