mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-19 04:03:00 +02:00
Rebuild the panel's most complex serverSide table on the Bootstrap 5 stack. handleStreams now emits structured rows (StatusBadge::stream code, live uptime, convert-to-channel encode %, restart-fails indicator, current server/source, client count, EPG availability, player-codec compatibility, archive/adaptive/ title-sync flags, codec stream-info) instead of building HTML; the view renders every cell and the per-row action dropdown client-side via datatables-bs5. The $rActualStatus computation is preserved verbatim; the data-gathering (grouping, per-server fails, redis connection counts) is untouched. Features: category / server / status / codec filters, bulk-select toolbar (start/stop/restart/kill/delete via action=multi&type=stream), per-row edit + fingerprint iframe modals, start/stop/restart/purge/delete via action=stream, player, live-connections link, CSV export. $rOrder gains the control + checkbox offset. Add streams to the allowlist + E2E suite and the `filter` i18n key. Verified on canary: 200, correct row shape, renders. Refs: #148 #178
XC_VM admin E2E (Playwright)
Browser smoke tests for the Vuexy admin panel. They run against a live instance (there is no built-in server), so point them at a test/canary panel.
Run
# one-time: install deps + the Chromium browser
cd tests/e2e && npm ci && npx playwright install --with-deps chromium
# configure (or copy .env.example -> .env)
export XC_E2E_BASE_URL="http://<host>/<access-code>"
export XC_E2E_USER="<admin user>"
export XC_E2E_PASS="<admin pass>"
# from the repo root:
make e2e # headless run
make e2e-ui # interactive Playwright UI
XC_E2E_BASE_URL is the admin base including the access-code path segment
(e.g. http://panel.example.com/ACCESS_CODE) — the same prefix as /<code>/login.
The setup project logs in once and stores the session in .auth/admin.json;
the smoke specs reuse it. Traces/screenshots/video for failures land in
test-results/, the HTML report in playwright-report/ (npm run report).