43 lines
1.4 KiB
Nix
43 lines
1.4 KiB
Nix
{ pkgs, ... }: let
|
|
elementWeb = pkgs.hectic.element-web;
|
|
elementWebVideoMessages = pkgs.hectic.element-web.override {
|
|
conf = {
|
|
hectic.videoMessages.enabled = true;
|
|
};
|
|
};
|
|
playwrightHarness = ./playwright;
|
|
in {
|
|
element-web-video-recorder = pkgs.runCommand "element-web-video-recorder"
|
|
{
|
|
nativeBuildInputs = [
|
|
pkgs.jq
|
|
pkgs.nodejs
|
|
pkgs.playwright-driver
|
|
];
|
|
} ''
|
|
set -eu
|
|
|
|
test -d ${elementWeb}
|
|
test -f ${elementWeb}/config.json
|
|
jq -e '.disable_guests == true' ${elementWeb}/config.json
|
|
|
|
test -d ${elementWebVideoMessages}
|
|
test -f ${elementWebVideoMessages}/config.json
|
|
jq -e '.disable_guests == true' ${elementWebVideoMessages}/config.json
|
|
jq -e '.hectic.videoMessages.enabled == true' ${elementWebVideoMessages}/config.json
|
|
|
|
mkdir -p "$out"
|
|
echo "element-web-video-recorder: starting Playwright harness"
|
|
export HOME="$TMPDIR/home"
|
|
export NODE_PATH=${pkgs.playwright-driver}
|
|
export PLAYWRIGHT_CORE_PATH=${pkgs.playwright-driver}
|
|
export PLAYWRIGHT_BROWSERS_PATH=${pkgs.playwright-driver.browsers}
|
|
export VIDEO_RECORDER_ACTION_TIMEOUT_MS=5000
|
|
export VIDEO_RECORDER_LAUNCH_TIMEOUT_MS=15000
|
|
export VIDEO_RECORDER_TOTAL_TIMEOUT_MS=60000
|
|
mkdir -p "$HOME"
|
|
timeout 75s node ${playwrightHarness}/run-video-recorder-harness.js "$out/playwright"
|
|
echo "element-web-video-recorder: Playwright harness completed"
|
|
'';
|
|
}
|