$ /nix/store/9ypz3flqsrl5xl495mm8h645gadjsxi1-coreutils-9.11/bin/timeout --kill-after=15s 7200s /nix/store/23zk8sgzamrbmj1fday15szf7f2279s8-nix-2.34.7/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link --print-out-paths git+https://codeberg.org/mtlynch/little-moments?ref=demo-album&rev=5412fc649ad5f94b16316d831dcc16c0cd55fc3f#packages.x86_64-linux.e2e-tests --print-build-logs  Building /nix/store/2k0svqsbrjca6h36q1z7yvv4l5za8zlx-e2e-tests-0.0.0.drv [e2e-tests] Phase: unpackPhase [e2e-tests] unpacking source archive /nix/store/xssj17xi6lxb4phbd8n0qnznpdw64pld-source [e2e-tests] source root is source [e2e-tests] Phase: patchPhase [e2e-tests] Phase: updateAutotoolsGnuConfigScriptsPhase [e2e-tests] Phase: configurePhase [e2e-tests] no configure script, doing nothing [e2e-tests] Executing pnpmConfigHook [e2e-tests] Using fetcherVersion: 2 [e2e-tests] Configuring pnpm store [e2e-tests] /build /build/source [e2e-tests] /build/source [e2e-tests] Installing dependencies [e2e-tests] Lockfile is up to date, resolution step is skipped [e2e-tests] Progress: resolved 1, reused 0, downloaded 0, added 0 [e2e-tests] Packages: +101 [e2e-tests]  [e2e-tests] Progress: resolved 1, reused 0, downloaded 0, added 0 [e2e-tests] Progress: resolved 101, reused 101, downloaded 0, added 20 [e2e-tests] Progress: resolved 101, reused 101, downloaded 0, added 101, done [e2e-tests]  [e2e-tests] devDependencies: [e2e-tests] + @eslint/js 9.39.2 [e2e-tests] + @playwright/test 1.58.2 [e2e-tests] + eslint 9.39.2 [e2e-tests] + eslint-plugin-playwright 2.2.0 [e2e-tests] + isomorphic-fetch 3.0.0 [e2e-tests] + playwright 1.58.2 [e2e-tests] + prettier 3.8.1 [e2e-tests] + prettier-plugin-go-template 0.0.15 [e2e-tests]  [e2e-tests] Done in 971ms using pnpm v10.25.0 [e2e-tests] Patching scripts [e2e-tests] patching script interpreter paths in node_modules/@eslint node_modules/@playwright node_modules/eslint node_modules/eslint-plugin-playwright node_modules/isomorphic-fetch node_modules/playwright node_modules/prettier node_modules/prettier-plugin-go-template node_modules/.bin node_modules/.modules.yaml node_modules/.pnpm node_modules/.pnpm-workspace-state-v1.json [e2e-tests] node_modules/.bin/playwright: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.bin/prettier: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.bin/eslint: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/acorn@8.16.0/node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] node_modules/.pnpm/@eslint-community+eslint-utils@4.9.1_eslint@9.39.2/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/node_modules/.bin/node-which: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/eslint@9.39.2/node_modules/eslint/bin/eslint.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/node_modules/.bin/js-yaml: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/node_modules/.bin/acorn: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/node_modules/.bin/playwright-core: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/node_modules/.bin/node-which: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/node_modules/.bin/ulid: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/prettier@3.8.1/node_modules/prettier/bin/prettier.cjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] node_modules/.pnpm/js-yaml@4.2.0/node_modules/js-yaml/bin/js-yaml.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] node_modules/.pnpm/@playwright+test@1.58.2/node_modules/@playwright/test/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] node_modules/.pnpm/@playwright+test@1.58.2/node_modules/@playwright/test/node_modules/.bin/playwright: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/acorn-jsx@5.3.2_acorn@8.16.0/node_modules/acorn-jsx/node_modules/.bin/acorn: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/prettier-plugin-go-template@0.0.15_prettier@3.8.1/node_modules/prettier-plugin-go-template/node_modules/.bin/prettier: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/prettier-plugin-go-template@0.0.15_prettier@3.8.1/node_modules/prettier-plugin-go-template/node_modules/.bin/ulid: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/ulid@2.4.0/node_modules/ulid/bin/cli.js: interpreter directive changed from "#! /usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] node_modules/.pnpm/eslint-plugin-playwright@2.2.0_eslint@9.39.2/node_modules/eslint-plugin-playwright/node_modules/.bin/eslint: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/which@2.0.2/node_modules/which/bin/node-which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] node_modules/.pnpm/playwright@1.58.2/node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] node_modules/.pnpm/playwright@1.58.2/node_modules/playwright/node_modules/.bin/playwright-core: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/ajv@6.15.0/node_modules/ajv/scripts/info: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] node_modules/.pnpm/ajv@6.15.0/node_modules/ajv/scripts/prepare-tests: interpreter directive changed from "#!/usr/bin/env sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] node_modules/.pnpm/ajv@6.15.0/node_modules/ajv/scripts/travis-gh-pages: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/ajv@6.15.0/node_modules/ajv/scripts/publish-built-version: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] node_modules/.pnpm/espree@10.4.0/node_modules/espree/node_modules/.bin/acorn: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" [e2e-tests] Finished pnpmConfigHook [e2e-tests] Phase: buildPhase [e2e-tests] patching script interpreter paths in ./dev-scripts [e2e-tests] ./dev-scripts/enable-git-hooks: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/reset-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/run-e2e-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/render-design-doc: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/serve-design-doc: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [e2e-tests] ./dev-scripts/run-single-go-test: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/serve: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/download-prod-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/run-go-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/check-trailing-newline: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/check-go-formatting: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/build-backend: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/check-go-test-packages: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/git-hooks/pre-commit: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/lint-sql: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/package-binaries: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/check-bash: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/populate-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/check-frontend: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/upload-prod-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] ./dev-scripts/check-trailing-whitespace: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 746d563e-034d-4b08-8b56-b6640b2bd8c5-full.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:109: copied 746d563e-034d-4b08-8b56-b6640b2bd8c5-850px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 746d563e-034d-4b08-8b56-b6640b2bd8c5-250px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 746d563e-034d-4b08-8b56-b6640b2bd8c5-150px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 56383138-411e-4a7a-86a1-98df1a2e639d-full.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:109: copied 56383138-411e-4a7a-86a1-98df1a2e639d-850px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 56383138-411e-4a7a-86a1-98df1a2e639d-250px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 56383138-411e-4a7a-86a1-98df1a2e639d-150px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied fe81e08b-2be5-4514-b549-aaf2ae6ba185-full.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:109: copied fe81e08b-2be5-4514-b549-aaf2ae6ba185-850px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied fe81e08b-2be5-4514-b549-aaf2ae6ba185-250px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied fe81e08b-2be5-4514-b549-aaf2ae6ba185-150px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 3ef7bbc6-6efc-48ec-8373-d4024f2c9e44-full.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:109: copied 3ef7bbc6-6efc-48ec-8373-d4024f2c9e44-850px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 3ef7bbc6-6efc-48ec-8373-d4024f2c9e44-250px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 3ef7bbc6-6efc-48ec-8373-d4024f2c9e44-150px.jpg [e2e-tests] 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied e9795569-bdd3-4e22-80d2-a7623fa6b36d-full.jpg [e2e-tests] 2026/06/24 13:39:03 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:109: copied e9795569-bdd3-4e22-80d2-a7623fa6b36d-850px.jpg [e2e-tests] 2026/06/24 13:39:03 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied e9795569-bdd3-4e22-80d2-a7623fa6b36d-250px.jpg [e2e-tests] 2026/06/24 13:39:03 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied e9795569-bdd3-4e22-80d2-a7623fa6b36d-150px.jpg [e2e-tests] 2026/06/24 13:39:03 codeberg.org/mtlynch/little-moments/store/sqlite/sqlite.go:27: reading DB from /build/source/test-imported-media/test-store.db [e2e-tests] 2026/06/24 13:39:03 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:148: wrote /build/source/test-imported-media/test-store.db [e2e-tests]  [e2e-tests] Running 18 tests using 8 workers [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] ·FFFFFFFFSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] FFFFFFFFSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [e2e-tests] F [e2e-tests]  [e2e-tests]  1) [chromium] › e2e/auth.spec.ts:13:7 › Authentication › logs in and shows the browse page ─────── [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:38801/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:38801/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/auth.spec.ts:14:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/auth-Authentication-logs-in-and-shows-the-browse-page-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/auth-Authentication-logs-in-and-shows-the-browse-page-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/auth-Authentication-logs-in-and-shows-the-browse-page-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/auth-Authentication-logs-in-and-shows-the-browse-page-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  2) [chromium] › e2e/auth.spec.ts:20:7 › Authentication › redirects to stored next path after login [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:46341/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:46341/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  24 | await page.getByLabel("Email address").fill("homer@example.com"); [e2e-tests]  25 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 26 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  27 | [e2e-tests]  28 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  29 | [e2e-tests]  at /build/source/e2e/auth.spec.ts:26:24 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/auth-Authentication-redire-2d7b2-tored-next-path-after-login-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/auth-Authentication-redire-2d7b2-tored-next-path-after-login-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/auth-Authentication-redire-2d7b2-tored-next-path-after-login-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/auth-Authentication-redire-2d7b2-tored-next-path-after-login-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  3) [chromium] › e2e/auth.spec.ts:33:7 › Authentication › logs out and redirects to the login page [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:35881/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:35881/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/auth.spec.ts:34:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/auth-Authentication-logs-out-and-redirects-to-the-login-page-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/auth-Authentication-logs-out-and-redirects-to-the-login-page-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/auth-Authentication-logs-out-and-redirects-to-the-login-page-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/auth-Authentication-logs-out-and-redirects-to-the-login-page-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  4) [chromium] › e2e/auth.spec.ts:41:7 › Authentication › cannot access protected routes after logging out [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:46045/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:46045/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/auth.spec.ts:42:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/auth-Authentication-cannot-a27fd-ed-routes-after-logging-out-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/auth-Authentication-cannot-a27fd-ed-routes-after-logging-out-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/auth-Authentication-cannot-a27fd-ed-routes-after-logging-out-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/auth-Authentication-cannot-a27fd-ed-routes-after-logging-out-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  5) [chromium] › e2e/browse.spec.ts:68:7 › Browse media › shows the imported media entries on the browse page [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:36627/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:36627/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/browse.spec.ts:65:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  6) [chromium] › e2e/browse.spec.ts:81:7 › Browse media › shows media thumbnails from newest to oldest [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:39169/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:39169/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/browse.spec.ts:65:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  7) [chromium] › e2e/browse.spec.ts:92:7 › Browse media › shows a video indicator on video thumbnails only [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:33349/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:33349/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/browse.spec.ts:65:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  8) [chromium] › e2e/browse.spec.ts:113:7 › Browse media › opens the first entry from the browse page and shows its details [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:40529/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:40529/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/browse.spec.ts:65:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  9) [chromium] › e2e/browse.spec.ts:135:7 › Browse media › moves through adjacent entries with Previous and Next links [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:46249/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:46249/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/browse.spec.ts:65:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  10) [chromium] › e2e/browse.spec.ts:166:7 › Browse media › moves through adjacent entries with left and right arrow keys [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:42367/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:42367/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/browse.spec.ts:65:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  11) [chromium] › e2e/browse.spec.ts:187:7 › Browse media › moves through adjacent entries with swipe gestures on mobile [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:42063/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:42063/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/browse.spec.ts:65:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  12) [chromium] › e2e/browse.spec.ts:215:7 › Browse media › shows the current media position within the full list [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:45535/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   8 × unexpected value "http://127.0.0.1:45535/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/browse.spec.ts:65:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  13) [chromium] › e2e/browse.spec.ts:232:7 › Browse media › opens the last entry from the browse page and shows the oldest media [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:44507/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:44507/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/browse.spec.ts:65:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  14) [chromium] › e2e/media.spec.ts:10:7 › View media › shows reaction with a tooltip of the exact date [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:35843/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:35843/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/media.spec.ts:7:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  15) [chromium] › e2e/upload.spec.ts:15:7 › Upload media › owner uploads a photo and sees it in the gallery [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:45735/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:45735/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/upload.spec.ts:16:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/upload-Upload-media-owner--c7452--and-sees-it-in-the-gallery-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/upload-Upload-media-owner--c7452--and-sees-it-in-the-gallery-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/upload-Upload-media-owner--c7452--and-sees-it-in-the-gallery-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/upload-Upload-media-owner--c7452--and-sees-it-in-the-gallery-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  16) [chromium] › e2e/upload.spec.ts:38:7 › Upload media › owner uploads another photo and sees it in the gallery [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:39671/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:39671/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) [e2e-tests]  at /build/source/e2e/upload.spec.ts:41:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/upload-Upload-media-owner--21a18--and-sees-it-in-the-gallery-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/upload-Upload-media-owner--21a18--and-sees-it-in-the-gallery-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/upload-Upload-media-owner--21a18--and-sees-it-in-the-gallery-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/upload-Upload-media-owner--21a18--and-sees-it-in-the-gallery-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  17) [chromium] › e2e/upload.spec.ts:61:7 › Upload media › subscribers do not see the upload button [e2e-tests]  [e2e-tests]  Error: expect(page).toHaveURL(expected) failed [e2e-tests]  [e2e-tests]  Expected pattern: /\/login\/confirm\?token=[^&]+$/ [e2e-tests]  Received string: "http://127.0.0.1:45499/login" [e2e-tests]  Timeout: 5000ms [e2e-tests]  [e2e-tests]  Call log: [e2e-tests]   - Expect "toHaveURL" with timeout 5000ms [e2e-tests]   9 × unexpected value "http://127.0.0.1:45499/login" [e2e-tests]  [e2e-tests]  [e2e-tests]  at fixtures.ts:202 [e2e-tests]  [e2e-tests]  200 | await page.getByLabel("Email address").fill(email); [e2e-tests]  201 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); [e2e-tests]  | ^ [e2e-tests]  203 | await page.getByRole("button", { name: "Log in" }).click(); [e2e-tests]  204 | await expect(page).toHaveURL("/"); [e2e-tests]  205 | } [e2e-tests]  at logInAs (/build/source/e2e/fixtures.ts:202:22) [e2e-tests]  at logInAsSubscriber (/build/source/e2e/fixtures.ts:212:3) [e2e-tests]  at /build/source/e2e/upload.spec.ts:62:5 [e2e-tests]  [e2e-tests]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [e2e-tests]  e2e-results/upload-Upload-media-subscribers-do-not-see-the-upload-button-chromium/video.webm [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  Error Context: e2e-results/upload-Upload-media-subscribers-do-not-see-the-upload-button-chromium/error-context.md [e2e-tests]  [e2e-tests]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [e2e-tests]  e2e-results/upload-Upload-media-subscribers-do-not-see-the-upload-button-chromium/trace.zip [e2e-tests]  Usage: [e2e-tests]  [e2e-tests]  pnpm exec playwright show-trace e2e-results/upload-Upload-media-subscribers-do-not-see-the-upload-button-chromium/trace.zip [e2e-tests]  [e2e-tests]  ──────────────────────────────────────────────────────────────────────────────────────────────── [e2e-tests]  [e2e-tests]  17 failed [e2e-tests]  [chromium] › e2e/auth.spec.ts:13:7 › Authentication › logs in and shows the browse page ──────── [e2e-tests]  [chromium] › e2e/auth.spec.ts:20:7 › Authentication › redirects to stored next path after login [e2e-tests]  [chromium] › e2e/auth.spec.ts:33:7 › Authentication › logs out and redirects to the login page ─ [e2e-tests]  [chromium] › e2e/auth.spec.ts:41:7 › Authentication › cannot access protected routes after logging out [e2e-tests]  [chromium] › e2e/browse.spec.ts:68:7 › Browse media › shows the imported media entries on the browse page [e2e-tests]  [chromium] › e2e/browse.spec.ts:81:7 › Browse media › shows media thumbnails from newest to oldest [e2e-tests]  [chromium] › e2e/browse.spec.ts:92:7 › Browse media › shows a video indicator on video thumbnails only [e2e-tests]  [chromium] › e2e/browse.spec.ts:113:7 › Browse media › opens the first entry from the browse page and shows its details [e2e-tests]  [chromium] › e2e/browse.spec.ts:135:7 › Browse media › moves through adjacent entries with Previous and Next links [e2e-tests]  [chromium] › e2e/browse.spec.ts:166:7 › Browse media › moves through adjacent entries with left and right arrow keys [e2e-tests]  [chromium] › e2e/browse.spec.ts:187:7 › Browse media › moves through adjacent entries with swipe gestures on mobile [e2e-tests]  [chromium] › e2e/browse.spec.ts:215:7 › Browse media › shows the current media position within the full list [e2e-tests]  [chromium] › e2e/browse.spec.ts:232:7 › Browse media › opens the last entry from the browse page and shows the oldest media [e2e-tests]  [chromium] › e2e/media.spec.ts:10:7 › View media › shows reaction with a tooltip of the exact date [e2e-tests]  [chromium] › e2e/upload.spec.ts:15:7 › Upload media › owner uploads a photo and sees it in the gallery [e2e-tests]  [chromium] › e2e/upload.spec.ts:38:7 › Upload media › owner uploads another photo and sees it in the gallery [e2e-tests]  [chromium] › e2e/upload.spec.ts:61:7 › Upload media › subscribers do not see the upload button ─ [e2e-tests]  1 passed (26.2s) Progress: 0 of 1 built (1 failed) Cannot build '/nix/store/2k0svqsbrjca6h36q1z7yvv4l5za8zlx-e2e-tests-0.0.0.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/5cqqh7ab43lqpkq55863k1506nkjmddw-e2e-tests-0.0.0 Last 838 log lines: > Running phase: unpackPhase > unpacking source archive /nix/store/xssj17xi6lxb4phbd8n0qnznpdw64pld-source > source root is source > Running phase: patchPhase > Running phase: updateAutotoolsGnuConfigScriptsPhase > Running phase: configurePhase > no configure script, doing nothing > Executing pnpmConfigHook > Using fetcherVersion: 2 > Configuring pnpm store > /build /build/source > /build/source > Installing dependencies > Lockfile is up to date, resolution step is skipped > Progress: resolved 1, reused 0, downloaded 0, added 0 > Packages: +101 > > Progress: resolved 1, reused 0, downloaded 0, added 0 > Progress: resolved 101, reused 101, downloaded 0, added 20 > Progress: resolved 101, reused 101, downloaded 0, added 101, done > > devDependencies: > + @eslint/js 9.39.2 > + @playwright/test 1.58.2 > + eslint 9.39.2 > + eslint-plugin-playwright 2.2.0 > + isomorphic-fetch 3.0.0 > + playwright 1.58.2 > + prettier 3.8.1 > + prettier-plugin-go-template 0.0.15 > > Done in 971ms using pnpm v10.25.0 > Patching scripts > patching script interpreter paths in node_modules/@eslint node_modules/@playwright node_modules/eslint node_modules/eslint-plugin-playwright node_modules/isomorphic-fetch node_modules/playwright node_modules/prettier node_modules/prettier-plugin-go-template node_modules/.bin node_modules/.modules.yaml node_modules/.pnpm node_modules/.pnpm-workspace-state-v1.json > node_modules/.bin/playwright: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.bin/prettier: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.bin/eslint: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/acorn@8.16.0/node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/.pnpm/@eslint-community+eslint-utils@4.9.1_eslint@9.39.2/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/node_modules/.bin/node-which: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/eslint@9.39.2/node_modules/eslint/bin/eslint.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/node_modules/.bin/js-yaml: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/node_modules/.bin/acorn: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/node_modules/.bin/playwright-core: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/node_modules/.bin/node-which: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/node_modules/.bin/ulid: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/prettier@3.8.1/node_modules/prettier/bin/prettier.cjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/.pnpm/js-yaml@4.2.0/node_modules/js-yaml/bin/js-yaml.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/.pnpm/@playwright+test@1.58.2/node_modules/@playwright/test/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/.pnpm/@playwright+test@1.58.2/node_modules/@playwright/test/node_modules/.bin/playwright: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/acorn-jsx@5.3.2_acorn@8.16.0/node_modules/acorn-jsx/node_modules/.bin/acorn: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/prettier-plugin-go-template@0.0.15_prettier@3.8.1/node_modules/prettier-plugin-go-template/node_modules/.bin/prettier: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/prettier-plugin-go-template@0.0.15_prettier@3.8.1/node_modules/prettier-plugin-go-template/node_modules/.bin/ulid: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/ulid@2.4.0/node_modules/ulid/bin/cli.js: interpreter directive changed from "#! /usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/.pnpm/eslint-plugin-playwright@2.2.0_eslint@9.39.2/node_modules/eslint-plugin-playwright/node_modules/.bin/eslint: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/.pnpm/playwright-core@1.58.2/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/which@2.0.2/node_modules/which/bin/node-which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/.pnpm/playwright@1.58.2/node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/.pnpm/playwright@1.58.2/node_modules/playwright/node_modules/.bin/playwright-core: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/ajv@6.15.0/node_modules/ajv/scripts/info: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/.pnpm/ajv@6.15.0/node_modules/ajv/scripts/prepare-tests: interpreter directive changed from "#!/usr/bin/env sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > node_modules/.pnpm/ajv@6.15.0/node_modules/ajv/scripts/travis-gh-pages: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/ajv@6.15.0/node_modules/ajv/scripts/publish-built-version: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > node_modules/.pnpm/espree@10.4.0/node_modules/espree/node_modules/.bin/acorn: interpreter directive changed from "#!/bin/sh" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/sh" > Finished pnpmConfigHook > Running phase: buildPhase > patching script interpreter paths in ./dev-scripts > ./dev-scripts/enable-git-hooks: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/reset-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/run-e2e-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/render-design-doc: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/serve-design-doc: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > ./dev-scripts/run-single-go-test: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/serve: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/download-prod-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/run-go-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-trailing-newline: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-go-formatting: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/build-backend: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-go-test-packages: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/git-hooks/pre-commit: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/lint-sql: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/package-binaries: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-bash: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/populate-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-frontend: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/upload-prod-db: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > ./dev-scripts/check-trailing-whitespace: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/0550j0i8bmzxbcnzrg1g51zigj7y12ih-bash-interactive-5.3p9/bin/bash" > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 746d563e-034d-4b08-8b56-b6640b2bd8c5-full.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:109: copied 746d563e-034d-4b08-8b56-b6640b2bd8c5-850px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 746d563e-034d-4b08-8b56-b6640b2bd8c5-250px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 746d563e-034d-4b08-8b56-b6640b2bd8c5-150px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 56383138-411e-4a7a-86a1-98df1a2e639d-full.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:109: copied 56383138-411e-4a7a-86a1-98df1a2e639d-850px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 56383138-411e-4a7a-86a1-98df1a2e639d-250px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 56383138-411e-4a7a-86a1-98df1a2e639d-150px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied fe81e08b-2be5-4514-b549-aaf2ae6ba185-full.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:109: copied fe81e08b-2be5-4514-b549-aaf2ae6ba185-850px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied fe81e08b-2be5-4514-b549-aaf2ae6ba185-250px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied fe81e08b-2be5-4514-b549-aaf2ae6ba185-150px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 3ef7bbc6-6efc-48ec-8373-d4024f2c9e44-full.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:109: copied 3ef7bbc6-6efc-48ec-8373-d4024f2c9e44-850px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 3ef7bbc6-6efc-48ec-8373-d4024f2c9e44-250px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied 3ef7bbc6-6efc-48ec-8373-d4024f2c9e44-150px.jpg > 2026/06/24 13:39:02 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied e9795569-bdd3-4e22-80d2-a7623fa6b36d-full.jpg > 2026/06/24 13:39:03 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:109: copied e9795569-bdd3-4e22-80d2-a7623fa6b36d-850px.jpg > 2026/06/24 13:39:03 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied e9795569-bdd3-4e22-80d2-a7623fa6b36d-250px.jpg > 2026/06/24 13:39:03 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:116: copied e9795569-bdd3-4e22-80d2-a7623fa6b36d-150px.jpg > 2026/06/24 13:39:03 codeberg.org/mtlynch/little-moments/store/sqlite/sqlite.go:27: reading DB from /build/source/test-imported-media/test-store.db > 2026/06/24 13:39:03 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:148: wrote /build/source/test-imported-media/test-store.db > > Running 18 tests using 8 workers > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > ·FFFFFFFFSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > FFFFFFFFSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > F > > 1) [chromium] › e2e/auth.spec.ts:13:7 › Authentication › logs in and shows the browse page ─────── > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:38801/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:38801/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/auth.spec.ts:14:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/auth-Authentication-logs-in-and-shows-the-browse-page-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/auth-Authentication-logs-in-and-shows-the-browse-page-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/auth-Authentication-logs-in-and-shows-the-browse-page-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/auth-Authentication-logs-in-and-shows-the-browse-page-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 2) [chromium] › e2e/auth.spec.ts:20:7 › Authentication › redirects to stored next path after login > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:46341/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:46341/login" > > > 24 | await page.getByLabel("Email address").fill("homer@example.com"); > 25 | await page.getByRole("button", { name: "Log in" }).click(); > > 26 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 27 | > 28 | await page.getByRole("button", { name: "Log in" }).click(); > 29 | > at /build/source/e2e/auth.spec.ts:26:24 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/auth-Authentication-redire-2d7b2-tored-next-path-after-login-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/auth-Authentication-redire-2d7b2-tored-next-path-after-login-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/auth-Authentication-redire-2d7b2-tored-next-path-after-login-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/auth-Authentication-redire-2d7b2-tored-next-path-after-login-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 3) [chromium] › e2e/auth.spec.ts:33:7 › Authentication › logs out and redirects to the login page > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:35881/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:35881/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/auth.spec.ts:34:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/auth-Authentication-logs-out-and-redirects-to-the-login-page-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/auth-Authentication-logs-out-and-redirects-to-the-login-page-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/auth-Authentication-logs-out-and-redirects-to-the-login-page-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/auth-Authentication-logs-out-and-redirects-to-the-login-page-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 4) [chromium] › e2e/auth.spec.ts:41:7 › Authentication › cannot access protected routes after logging out > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:46045/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:46045/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/auth.spec.ts:42:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/auth-Authentication-cannot-a27fd-ed-routes-after-logging-out-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/auth-Authentication-cannot-a27fd-ed-routes-after-logging-out-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/auth-Authentication-cannot-a27fd-ed-routes-after-logging-out-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/auth-Authentication-cannot-a27fd-ed-routes-after-logging-out-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 5) [chromium] › e2e/browse.spec.ts:68:7 › Browse media › shows the imported media entries on the browse page > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:36627/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:36627/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/browse.spec.ts:65:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 6) [chromium] › e2e/browse.spec.ts:81:7 › Browse media › shows media thumbnails from newest to oldest > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:39169/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:39169/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/browse.spec.ts:65:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 7) [chromium] › e2e/browse.spec.ts:92:7 › Browse media › shows a video indicator on video thumbnails only > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:33349/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:33349/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/browse.spec.ts:65:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 8) [chromium] › e2e/browse.spec.ts:113:7 › Browse media › opens the first entry from the browse page and shows its details > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:40529/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:40529/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/browse.spec.ts:65:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 9) [chromium] › e2e/browse.spec.ts:135:7 › Browse media › moves through adjacent entries with Previous and Next links > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:46249/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:46249/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/browse.spec.ts:65:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 10) [chromium] › e2e/browse.spec.ts:166:7 › Browse media › moves through adjacent entries with left and right arrow keys > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:42367/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:42367/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/browse.spec.ts:65:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 11) [chromium] › e2e/browse.spec.ts:187:7 › Browse media › moves through adjacent entries with swipe gestures on mobile > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:42063/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:42063/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/browse.spec.ts:65:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 12) [chromium] › e2e/browse.spec.ts:215:7 › Browse media › shows the current media position within the full list > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:45535/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  8 × unexpected value "http://127.0.0.1:45535/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/browse.spec.ts:65:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 13) [chromium] › e2e/browse.spec.ts:232:7 › Browse media › opens the last entry from the browse page and shows the oldest media > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:44507/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:44507/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/browse.spec.ts:65:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 14) [chromium] › e2e/media.spec.ts:10:7 › View media › shows reaction with a tooltip of the exact date > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:35843/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:35843/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/media.spec.ts:7:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 15) [chromium] › e2e/upload.spec.ts:15:7 › Upload media › owner uploads a photo and sees it in the gallery > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:45735/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:45735/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/upload.spec.ts:16:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/upload-Upload-media-owner--c7452--and-sees-it-in-the-gallery-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/upload-Upload-media-owner--c7452--and-sees-it-in-the-gallery-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/upload-Upload-media-owner--c7452--and-sees-it-in-the-gallery-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/upload-Upload-media-owner--c7452--and-sees-it-in-the-gallery-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 16) [chromium] › e2e/upload.spec.ts:38:7 › Upload media › owner uploads another photo and sees it in the gallery > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:39671/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:39671/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at loginAsAdmin (/build/source/e2e/fixtures.ts:208:3) > at /build/source/e2e/upload.spec.ts:41:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/upload-Upload-media-owner--21a18--and-sees-it-in-the-gallery-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/upload-Upload-media-owner--21a18--and-sees-it-in-the-gallery-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/upload-Upload-media-owner--21a18--and-sees-it-in-the-gallery-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/upload-Upload-media-owner--21a18--and-sees-it-in-the-gallery-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 17) [chromium] › e2e/upload.spec.ts:61:7 › Upload media › subscribers do not see the upload button > > Error: expect(page).toHaveURL(expected) failed > > Expected pattern: /\/login\/confirm\?token=[^&]+$/ > Received string: "http://127.0.0.1:45499/login" > Timeout: 5000ms > > Call log: >  - Expect "toHaveURL" with timeout 5000ms >  9 × unexpected value "http://127.0.0.1:45499/login" > > > at fixtures.ts:202 > > 200 | await page.getByLabel("Email address").fill(email); > 201 | await page.getByRole("button", { name: "Log in" }).click(); > > 202 | await expect(page).toHaveURL(/\/login\/confirm\?token=[^&]+$/); > | ^ > 203 | await page.getByRole("button", { name: "Log in" }).click(); > 204 | await expect(page).toHaveURL("/"); > 205 | } > at logInAs (/build/source/e2e/fixtures.ts:202:22) > at logInAsSubscriber (/build/source/e2e/fixtures.ts:212:3) > at /build/source/e2e/upload.spec.ts:62:5 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/upload-Upload-media-subscribers-do-not-see-the-upload-button-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/upload-Upload-media-subscribers-do-not-see-the-upload-button-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/upload-Upload-media-subscribers-do-not-see-the-upload-button-chromium/trace.zip > Usage: > > pnpm exec playwright show-trace e2e-results/upload-Upload-media-subscribers-do-not-see-the-upload-button-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 17 failed > [chromium] › e2e/auth.spec.ts:13:7 › Authentication › logs in and shows the browse page ──────── > [chromium] › e2e/auth.spec.ts:20:7 › Authentication › redirects to stored next path after login > [chromium] › e2e/auth.spec.ts:33:7 › Authentication › logs out and redirects to the login page ─ > [chromium] › e2e/auth.spec.ts:41:7 › Authentication › cannot access protected routes after logging out > [chromium] › e2e/browse.spec.ts:68:7 › Browse media › shows the imported media entries on the browse page > [chromium] › e2e/browse.spec.ts:81:7 › Browse media › shows media thumbnails from newest to oldest > [chromium] › e2e/browse.spec.ts:92:7 › Browse media › shows a video indicator on video thumbnails only > [chromium] › e2e/browse.spec.ts:113:7 › Browse media › opens the first entry from the browse page and shows its details > [chromium] › e2e/browse.spec.ts:135:7 › Browse media › moves through adjacent entries with Previous and Next links > [chromium] › e2e/browse.spec.ts:166:7 › Browse media › moves through adjacent entries with left and right arrow keys > [chromium] › e2e/browse.spec.ts:187:7 › Browse media › moves through adjacent entries with swipe gestures on mobile > [chromium] › e2e/browse.spec.ts:215:7 › Browse media › shows the current media position within the full list > [chromium] › e2e/browse.spec.ts:232:7 › Browse media › opens the last entry from the browse page and shows the oldest media > [chromium] › e2e/media.spec.ts:10:7 › View media › shows reaction with a tooltip of the exact date > [chromium] › e2e/upload.spec.ts:15:7 › Upload media › owner uploads a photo and sees it in the gallery > [chromium] › e2e/upload.spec.ts:38:7 › Upload media › owner uploads another photo and sees it in the gallery > [chromium] › e2e/upload.spec.ts:61:7 › Upload media › subscribers do not see the upload button ─ > 1 passed (26.2s) For full logs, run: nix log /nix/store/2k0svqsbrjca6h36q1z7yvv4l5za8zlx-e2e-tests-0.0.0.drv Build failed.