Skip to content

[🐞BUG]: Moderated session uses hardcoded VideoCall stepper, proceed flow does not advance, and remote media status is inaccurate #1706

@Santosh69

Description

@Santosh69

Summary

On develop, moderated testing has three connected issues:

  1. VideoCall.vue implements a hardcoded custom stepper panel instead of reusing StepSelector.vue.
  2. ModeratedTestView.vue proceedToNextStep does not advance state; it re-saves current globalIndex/taskIndex.
  3. VideoCall.vue participantsList derives remote camera/mic from role fallback (role !== 'observator') instead of actual remote media flags.

Affected Areas

1) Hardcoded stepper UI in VideoCall

File: src/ux/UserTest/components/VideoCall.vue
Refs: :598, :627, :652, :726, :751

Problem

  • Step items are duplicated inline with scattered caller && checks.
  • Step UI logic is tightly coupled to VideoCall.
  • Restart-to-welcome flow is not exposed from this custom panel path.
  • Hardcoded strings in this panel path increase i18n drift risk.

2) Proceed action is no-op

File: src/ux/UserTest/views/ModeratedTestView.vue
Refs: :787, :791, :792

Problem

  • proceedToNextStep writes:
    • globalIndex: globalIndex.value
    • taskIndex: taskIndex.value
  • No next-step calculation is performed.
  • Moderator clicking Proceed does not move lifecycle/task state.

3) Remote media chips are inaccurate

File: src/ux/UserTest/components/VideoCall.vue
Refs: :913, :960, :961

Current behavior

hasCamera: role !== 'observator'
hasMicrophone: role !== 'observator'

Why incorrect

  • This checks role string, not actual remote media state.
  • Non-observator remotes appear enabled even when camera/mic are off.

Related helpers that exist but are not used in participantsList

  • src/ux/UserTest/components/VideoCall.vue:1392 (isRemoteCameraEnabled)
  • src/ux/UserTest/components/VideoCall.vue:1399 (isRemoteMicrophoneEnabled)

Steps to Reproduce

  1. Open moderated session on develop.
  2. Open VideoCall step panel and review step UI implementation.
  3. Click Proceed in moderated flow.
  4. Observe globalIndex/taskIndex do not advance.
  5. Join with multiple users and toggle remote camera/mic.
  6. Observe remote media chips in participant list remain effectively role-derived.

Expected Behavior

  • Step panel should use reusable StepSelector composition.
  • Proceed should compute and persist next lifecycle/task state.
  • Remote participant camera/mic chips should reflect real remote media state.
  • Role rendering should remain accurate for moderator/observator/evaluator/participant.
  • New moderated UI strings should be consistently localizable.

Actual Behavior

  • Stepper UI is duplicated inline in VideoCall.
  • Proceed is a no-op for lifecycle progression.
  • Remote media chips are inaccurate for non-observator users.

Acceptance Criteria

  • VideoCall step panel is reusable (embedded StepSelector path).
  • Step/task actions bridge correctly from panel to parent state updates.
  • proceedToNextStep advances lifecycle/tasks correctly.
  • Remote media chips use actual per-user media state.
  • Participant role display is consistent.
  • Localizable strings are used for newly added moderated UI paths.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions