Repository navigation
fix: Visio list marks only the occurrence holding the running call - EXO-90147 - #409
Merged
Merged
Conversation
…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)
|
azayati
enabled auto-merge (squash)
September 11, 2026 10:57
Jihed525
approved these changes
Sep 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



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 byJOIN_AHEAD_MS— andbuildEntries()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),eslintclean on both files, and manually in the drawer before #408 was merged.