openvidu/openvidu-dashboard/openspec/changes/ui-review-fixes/specs/ui-shell/spec.md

2.6 KiB

MODIFIED Requirements

Edition: CE. The bottom of the sidenav SHALL show only the OpenVidu version ("OpenVidu {version}", the dashboard version, as plain text), the edition badge, a Documentation link and, when the server enables it, an OpenAPI link. In rail mode the sidenav bottom shows the short edition badge and a documentation icon link with a tooltip.

Scenario: Version line reflects the info endpoint

  • GIVEN GET /api/v1/info reports dashboard 3.10.0, edition CE, server 3.10.0, schema 1 and openapiDocsEnabled: false
  • WHEN the shell renders on a Large viewport
  • THEN the sidenav bottom reads "OpenVidu 3.10.0", not a link, with the COMMUNITY badge and a Documentation link, and shows neither "server" nor "schema"
  • GIVEN openapiDocsEnabled: true
  • WHEN the shell renders
  • THEN an OpenAPI link to api/v1/docs follows the Documentation link

Requirement: Locked PRO features in CE

Edition: CE. PRO entries, links and sections SHALL stay visible in CE and render a lock with the feature title, a short explanation and a "Learn about OpenVidu PRO" link. The lock is decided from the feature flags of GET /api/v1/info and makes no request to the locked endpoint. Full-page locks keep header and breadcrumbs over a dimmed, non-interactive silhouette of three tiles and one block, with no refresh control in the header; in-card locks size to their message.

Scenario: Room detail in CE

  • GIVEN the info endpoint does not report the feature room-detail
  • WHEN the user follows a room SID link of the Rooms list
  • THEN /rooms/RM_ab12cd shows the room header from the list data and the full-page lock, and no detail request is sent

Scenario: Track route in CE

  • GIVEN the info endpoint does not report the feature participant-detail
  • WHEN the user opens /tracks/TR_a2b3, as the global search does for an exact track ID
  • THEN the page shows the full-page lock titled TR_a2b3, and no request about the track is sent

Scenario: Locked sidenav entry

  • GIVEN a sidenav entry whose route declares a feature that GET /api/v1/info does not report
  • WHEN the sidenav renders
  • THEN the entry shows a lock icon with a tooltip and opens the full-page lock; no sidenav entry of the CE routes declares a feature, so the CE sidenav shows no lock

Scenario: Compact in-card lock

  • GIVEN the CE Analytics page
  • WHEN its PRO cards render
  • THEN each locked card is as tall as its lock message, not as the chart it replaces