Skip to content

fix: Visio list marks only the occurrence holding the running call - EXO-90147 - #409

Merged
azayati merged 1 commit into
developfrom
fix/merge-90147
Sep 11, 2026
Merged

azayati merged 1 commit into
developfrom
fix/merge-90147

Conversation

@azayati

@azayati azayati commented Sep 11, 2026 •

Copy link
Copy Markdown
Member

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, and next week's occurrence was announced as happening now.

After this commit, liveCallOwners() attributes the running call to a single occurrence — the one nearest in time among those that may hold it, bounded by JOIN_AHEAD_MS — and buildEntries() marks only that one LIVE. The other occurrences keep their schedule state and stay listed as upcoming. Cherry-pick of bc334f4 (#408), applied without conflict.

Testing

No JS test runner in this webapp, so the merge layer is not covered in CI. Verified on this branch by a Node harness over the real VisioMerge.js (11 scenarios, green), eslint clean on both files, and manually in the drawer before #408 was merged.

…XO-90147 (#408)

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 bc334f4)
@github-actions github-actions Bot added the partialCIBuild Perform Partial CI Build label Sep 11, 2026
@sonarqubecloud

Copy link
Copy Markdown

@azayati
azayati requested review from Jihed525 and ahamdi September 11, 2026 10:55
@azayati
azayati enabled auto-merge (squash) September 11, 2026 10:57
@azayati
azayati merged commit 0fcdaba into develop Sep 11, 2026
13 checks passed
@azayati
azayati deleted the fix/merge-90147 branch September 11, 2026 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

partialCIBuild Perform Partial CI Build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants