0.01 s
$ /nix/store/wkkwxc04gdw6b263l1h29pjarjnjdyb6-coreutils-9.8/bin/timeout --kill-after=15s 1800s /nix/store/99b1z08awpxj8b6mzggn59gp1shljnff-nix-2.34.5/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes build --no-link git+https://codeberg.org/mtlynch/little-moments?ref=prefetch&rev=4677f66da05a0b53400fe46ae41c5f1bedc7de9d#packages.x86_64-linux.e2e-tests --print-build-logs
0.17 s
error (ignored): SQLite database '/var/cache/private/nix-ci-worker/eval-cache-v6/fc1f4783f9e4bafcfdc5051e8eefcbcc55ac4556bcf9917cce1a2744d3b2f054.sqlite' is busy
4.83 s
this derivation will be built:
4.83 s
/nix/store/x758jd93qiaw54i0d18l2r36sv500727-little-moments-e2e-0.0.1.drv
4.95 s
building '/nix/store/x758jd93qiaw54i0d18l2r36sv500727-little-moments-e2e-0.0.1.drv'...
4.99 s
little-moments-e2e> Running phase: unpackPhase
5.00 s
little-moments-e2e> unpacking source archive /nix/store/hdz8g96s4zssw3rwfzw7qgzy0fkzxnwf-source
5.01 s
little-moments-e2e> source root is source
5.03 s
little-moments-e2e> Running phase: patchPhase
5.03 s
little-moments-e2e> Executing npmConfigHook
5.03 s
little-moments-e2e> Configuring npm
5.03 s
little-moments-e2e> Validating consistency between /build/source/package-lock.json and /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps/package-lock.json
5.05 s
little-moments-e2e> Setting npm_config_cache to /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps
5.05 s
little-moments-e2e> Installing dependencies
5.14 s
little-moments-e2e> npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
5.14 s
little-moments-e2e> npm warn Unknown env config "platform". This will stop working in the next major version of npm.
5.14 s
little-moments-e2e> npm warn Unknown env config "arch". This will stop working in the next major version of npm.
5.95 s
little-moments-e2e>
5.95 s
little-moments-e2e> added 100 packages, and audited 101 packages in 838ms
5.95 s
little-moments-e2e>
5.95 s
little-moments-e2e> 25 packages are looking for funding
5.95 s
little-moments-e2e> run `npm fund` for details
5.95 s
little-moments-e2e>
5.95 s
little-moments-e2e> found 0 vulnerabilities
6.01 s
little-moments-e2e> patching script interpreter paths in node_modules
6.03 s
little-moments-e2e> node_modules/prettier/bin/prettier.cjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
6.05 s
little-moments-e2e> node_modules/@playwright/test/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
6.08 s
little-moments-e2e> node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
6.10 s
little-moments-e2e> node_modules/ulid/bin/cli.js: interpreter directive changed from "#! /usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
6.12 s
little-moments-e2e> node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
6.14 s
little-moments-e2e> node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
6.15 s
little-moments-e2e> node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
6.16 s
little-moments-e2e> node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
6.17 s
little-moments-e2e> node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
6.19 s
little-moments-e2e> node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
6.20 s
little-moments-e2e> node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
6.21 s
little-moments-e2e> node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
6.22 s
little-moments-e2e> node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
6.24 s
little-moments-e2e> node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
6.25 s
little-moments-e2e> node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
6.27 s
little-moments-e2e> node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh"
6.29 s
little-moments-e2e> node_modules/playwright-core/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
6.30 s
little-moments-e2e> node_modules/eslint/bin/eslint.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
6.32 s
little-moments-e2e> 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"
6.33 s
little-moments-e2e> node_modules/which/bin/node-which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
6.43 s
little-moments-e2e> npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
6.43 s
little-moments-e2e> npm warn Unknown env config "platform". This will stop working in the next major version of npm.
6.43 s
little-moments-e2e> npm warn Unknown env config "arch". This will stop working in the next major version of npm.
6.71 s
little-moments-e2e> rebuilt dependencies successfully
6.72 s
little-moments-e2e> patching script interpreter paths in node_modules
6.83 s
little-moments-e2e> Finished npmConfigHook
6.83 s
little-moments-e2e> Running phase: updateAutotoolsGnuConfigScriptsPhase
6.85 s
little-moments-e2e> Running phase: configurePhase
6.88 s
little-moments-e2e> no configure script, doing nothing
6.89 s
little-moments-e2e> Running phase: buildPhase
6.89 s
little-moments-e2e> no Makefile or custom buildPhase, doing nothing
6.89 s
little-moments-e2e> Running phase: checkPhase
6.99 s
little-moments-e2e> npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
6.99 s
little-moments-e2e> npm warn Unknown env config "platform". This will stop working in the next major version of npm.
6.99 s
little-moments-e2e> npm warn Unknown env config "arch". This will stop working in the next major version of npm.
8.28 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:56 codeberg.org/mtlynch/little-moments/cmd/app/main.go:19: starting little-moments server
8.28 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:56 codeberg.org/mtlynch/little-moments/store/sqlite/sqlite.go:18: reading DB from testdata/store.db
9.52 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:57 codeberg.org/mtlynch/little-moments/handlers/csp.go:43: CSP media origin: ""
9.52 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:57 codeberg.org/mtlynch/little-moments/cmd/app/main.go:72: listening on http://localhost:6001
10.17 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:58 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: POST /api/debug/db/per-session 404 19
10.27 s
little-moments-e2e>
10.27 s
little-moments-e2e> Running 10 tests using 1 worker
11.39 s
little-moments-e2e> Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
11.52 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
11.53 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
11.53 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
11.53 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
11.53 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
11.53 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
11.53 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
11.53 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
11.53 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
11.53 s
little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
17.88 s
little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
17.98 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
17.99 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
17.99 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
17.99 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
17.99 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
17.99 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
17.99 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
17.99 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
17.99 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
18.00 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
24.21 s
little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
24.30 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3292
24.31 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
24.31 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
24.31 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
24.31 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
24.31 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
24.31 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
24.31 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
24.31 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
24.31 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
30.61 s
little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
30.71 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
30.71 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
30.72 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
30.72 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
30.72 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
30.72 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
30.72 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
30.72 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
30.72 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
30.72 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
36.84 s
little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
36.93 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
36.93 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
36.93 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
36.93 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
36.93 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
36.94 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
36.94 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
36.94 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
36.94 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
36.94 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
43.02 s
little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
43.11 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
43.11 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
43.11 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
43.11 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
43.11 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
43.11 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
43.11 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
43.11 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
43.11 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
43.11 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
49.31 s
little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
49.40 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
49.40 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
49.41 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
49.41 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
49.41 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
49.41 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
49.41 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
49.41 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
49.41 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
49.41 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
49.49 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3296
49.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
49.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
49.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
49.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
49.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
49.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
49.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
49.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
49.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
55.40 s
little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
55.49 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
55.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
55.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
55.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
55.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
55.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
55.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
55.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
55.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
55.50 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
61.56 s
little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
61.65 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3292
61.65 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
61.65 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
61.65 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
61.65 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
61.65 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
61.65 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
61.65 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
61.65 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
61.65 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
67.68 s
little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
67.77 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
67.78 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
67.78 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
67.78 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
67.78 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
67.78 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
67.78 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
67.78 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
67.78 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
67.78 s
little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.00 s
little-moments-e2e> T
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 1) [chromium] › e2e/browse.spec.ts:66:7 › Browse media › shows the imported media entries on the browse page
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error: expect(locator).toHaveCount(expected) failed
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Locator: getByRole('main').getByRole('link')
73.01 s
little-moments-e2e> Expected: 5
73.01 s
little-moments-e2e> Received: 0
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Call log:
73.01 s
little-moments-e2e> - Expect "toHaveCount" with timeout 5000ms
73.01 s
little-moments-e2e> - waiting for getByRole('main').getByRole('link')
73.01 s
little-moments-e2e> 9 × locator resolved to 0 elements
73.01 s
little-moments-e2e> - unexpected value "0"
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 69 | const mediaLinks = page.getByRole("main").getByRole("link");
73.01 s
little-moments-e2e> 70 |
73.01 s
little-moments-e2e> > 71 | await expect(mediaLinks).toHaveCount(5);
73.01 s
little-moments-e2e> | ^
73.01 s
little-moments-e2e> 72 | await expect(mediaLinks.nth(0)).toBeVisible();
73.01 s
little-moments-e2e> 73 | await expect(mediaLinks.nth(1)).toBeVisible();
73.01 s
little-moments-e2e> 74 | await expect(mediaLinks.nth(2)).toBeVisible();
73.01 s
little-moments-e2e> at /build/source/e2e/browse.spec.ts:71:30
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/video.webm
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error Context: e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/error-context.md
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
73.01 s
little-moments-e2e> Usage:
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 2) [chromium] › e2e/browse.spec.ts:79:7 › Browse media › shows media thumbnails from newest to oldest
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error: expect(locator).toHaveCount(expected) failed
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Locator: getByRole('main').getByRole('link')
73.01 s
little-moments-e2e> Expected: 5
73.01 s
little-moments-e2e> Received: 0
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Call log:
73.01 s
little-moments-e2e> - Expect "toHaveCount" with timeout 5000ms
73.01 s
little-moments-e2e> - waiting for getByRole('main').getByRole('link')
73.01 s
little-moments-e2e> 9 × locator resolved to 0 elements
73.01 s
little-moments-e2e> - unexpected value "0"
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 80 | const mediaLinks = page.getByRole("main").getByRole("link");
73.01 s
little-moments-e2e> 81 |
73.01 s
little-moments-e2e> > 82 | await expect(mediaLinks).toHaveCount(5);
73.01 s
little-moments-e2e> | ^
73.01 s
little-moments-e2e> 83 | await expect(mediaLinks.nth(0)).toHaveAttribute("href", "/m/1000");
73.01 s
little-moments-e2e> 84 | await expect(mediaLinks.nth(1)).toHaveAttribute("href", "/m/1001");
73.01 s
little-moments-e2e> 85 | await expect(mediaLinks.nth(2)).toHaveAttribute("href", "/m/1002");
73.01 s
little-moments-e2e> at /build/source/e2e/browse.spec.ts:82:30
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/video.webm
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error Context: e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/error-context.md
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
73.01 s
little-moments-e2e> Usage:
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 3) [chromium] › e2e/browse.spec.ts:90:7 › Browse media › shows a video indicator on video thumbnails only
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error: expect(locator).toHaveCount(expected) failed
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Locator: getByRole('main').getByRole('link')
73.01 s
little-moments-e2e> Expected: 5
73.01 s
little-moments-e2e> Received: 0
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Call log:
73.01 s
little-moments-e2e> - Expect "toHaveCount" with timeout 5000ms
73.01 s
little-moments-e2e> - waiting for getByRole('main').getByRole('link')
73.01 s
little-moments-e2e> 9 × locator resolved to 0 elements
73.01 s
little-moments-e2e> - unexpected value "0"
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 91 | const mediaLinks = page.getByRole("main").getByRole("link");
73.01 s
little-moments-e2e> 92 |
73.01 s
little-moments-e2e> > 93 | await expect(mediaLinks).toHaveCount(5);
73.01 s
little-moments-e2e> | ^
73.01 s
little-moments-e2e> 94 | await expect(
73.01 s
little-moments-e2e> 95 | mediaLinks.nth(0).getByTestId("video-thumbnail-indicator"),
73.01 s
little-moments-e2e> 96 | ).toHaveCount(0);
73.01 s
little-moments-e2e> at /build/source/e2e/browse.spec.ts:93:30
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/video.webm
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error Context: e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/error-context.md
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
73.01 s
little-moments-e2e> Usage:
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 4) [chromium] › e2e/browse.spec.ts:111:7 › Browse media › opens the first entry from the browse page and shows its details
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error: locator.click: Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e> Call log:
73.01 s
little-moments-e2e> - waiting for getByRole('main').getByRole('link').first()
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 114 | const mediaLinks = page.getByRole("main").getByRole("link");
73.01 s
little-moments-e2e> 115 |
73.01 s
little-moments-e2e> > 116 | await mediaLinks.nth(0).click();
73.01 s
little-moments-e2e> | ^
73.01 s
little-moments-e2e> 117 |
73.01 s
little-moments-e2e> 118 | const content = page.getByRole("main");
73.01 s
little-moments-e2e> 119 |
73.01 s
little-moments-e2e> at /build/source/e2e/browse.spec.ts:116:29
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/video.webm
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error Context: e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/error-context.md
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
73.01 s
little-moments-e2e> Usage:
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 5) [chromium] › e2e/browse.spec.ts:133:7 › Browse media › moves through adjacent entries with Previous and Next links
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error: locator.click: Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e> Call log:
73.01 s
little-moments-e2e> - waiting for getByRole('main').getByRole('link').nth(1)
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 136 | const mediaLinks = page.getByRole("main").getByRole("link");
73.01 s
little-moments-e2e> 137 |
73.01 s
little-moments-e2e> > 138 | await mediaLinks.nth(1).click();
73.01 s
little-moments-e2e> | ^
73.01 s
little-moments-e2e> 139 | await page.getByRole("main").getByRole("link", { name: "Next" }).click();
73.01 s
little-moments-e2e> 140 |
73.01 s
little-moments-e2e> 141 | const content = page.getByRole("main");
73.01 s
little-moments-e2e> at /build/source/e2e/browse.spec.ts:138:29
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/video.webm
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error Context: e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/error-context.md
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
73.01 s
little-moments-e2e> Usage:
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 6) [chromium] › e2e/browse.spec.ts:164:7 › Browse media › moves through adjacent entries with left and right arrow keys
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error: locator.click: Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e> Call log:
73.01 s
little-moments-e2e> - waiting for getByRole('main').getByRole('link').nth(2)
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 167 | const mediaLinks = page.getByRole("main").getByRole("link");
73.01 s
little-moments-e2e> 168 |
73.01 s
little-moments-e2e> > 169 | await mediaLinks.nth(2).click();
73.01 s
little-moments-e2e> | ^
73.01 s
little-moments-e2e> 170 |
73.01 s
little-moments-e2e> 171 | await expect(page).toHaveURL("/m/1002");
73.01 s
little-moments-e2e> 172 | await expect(page.getByRole("main")).toContainText("test video #1");
73.01 s
little-moments-e2e> at /build/source/e2e/browse.spec.ts:169:29
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/video.webm
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error Context: e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/error-context.md
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
73.01 s
little-moments-e2e> Usage:
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 7) [chromium] › e2e/browse.spec.ts:185:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error: locator.click: Test ended.
73.01 s
little-moments-e2e> Call log:
73.01 s
little-moments-e2e> - waiting for getByRole('main').getByRole('link').nth(2)
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 193 |
73.01 s
little-moments-e2e> 194 | await mobilePage.goto("/");
73.01 s
little-moments-e2e> > 195 | await mobilePage.getByRole("main").getByRole("link").nth(2).click();
73.01 s
little-moments-e2e> | ^
73.01 s
little-moments-e2e> 196 | await expect(mobilePage).toHaveURL("/m/1002");
73.01 s
little-moments-e2e> 197 | await expect(mobilePage.getByRole("main")).toContainText("test video #1");
73.01 s
little-moments-e2e> 198 |
73.01 s
little-moments-e2e> at /build/source/e2e/browse.spec.ts:195:65
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/video.webm
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error Context: e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/error-context.md
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
73.01 s
little-moments-e2e> Usage:
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 8) [chromium] › e2e/browse.spec.ts:212:7 › Browse media › shows the current media position within the full list
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error: locator.click: Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e> Call log:
73.01 s
little-moments-e2e> - waiting for getByRole('main').getByRole('link').first()
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 215 | let mediaLinks = page.getByRole("main").getByRole("link");
73.01 s
little-moments-e2e> 216 |
73.01 s
little-moments-e2e> > 217 | await mediaLinks.nth(0).click();
73.01 s
little-moments-e2e> | ^
73.01 s
little-moments-e2e> 218 | await expect(page.getByRole("main")).toContainText("1 of 5");
73.01 s
little-moments-e2e> 219 |
73.01 s
little-moments-e2e> 220 | await page.getByRole("main").getByRole("link", { name: "Next" }).click();
73.01 s
little-moments-e2e> at /build/source/e2e/browse.spec.ts:217:29
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/video.webm
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error Context: e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/error-context.md
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
73.01 s
little-moments-e2e> Usage:
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 9) [chromium] › e2e/browse.spec.ts:229:7 › Browse media › opens the last entry from the browse page and shows the oldest media
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error: locator.click: Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e> Call log:
73.01 s
little-moments-e2e> - waiting for getByRole('main').getByRole('link').nth(4)
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 232 | const mediaLinks = page.getByRole("main").getByRole("link");
73.01 s
little-moments-e2e> 233 |
73.01 s
little-moments-e2e> > 234 | await mediaLinks.nth(4).click();
73.01 s
little-moments-e2e> | ^
73.01 s
little-moments-e2e> 235 |
73.01 s
little-moments-e2e> 236 | const content = page.getByRole("main");
73.01 s
little-moments-e2e> 237 |
73.01 s
little-moments-e2e> at /build/source/e2e/browse.spec.ts:234:29
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/video.webm
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error Context: e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/error-context.md
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.01 s
little-moments-e2e> e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
73.01 s
little-moments-e2e> Usage:
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> 10) [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Test timeout of 5000ms exceeded.
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Error: expect(locator).toHaveCount(expected) failed
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Locator: getByRole('main').getByRole('link')
73.01 s
little-moments-e2e> Expected: 5
73.01 s
little-moments-e2e> Received: 0
73.01 s
little-moments-e2e>
73.01 s
little-moments-e2e> Call log:
73.01 s
little-moments-e2e> - Expect "toHaveCount" with timeout 5000ms
73.01 s
little-moments-e2e> - waiting for getByRole('main').getByRole('link')
73.02 s
little-moments-e2e> 9 × locator resolved to 0 elements
73.02 s
little-moments-e2e> - unexpected value "0"
73.02 s
little-moments-e2e>
73.02 s
little-moments-e2e>
73.02 s
little-moments-e2e> 9 | // Navigate to the entry that has a reaction (test photo #2).
73.02 s
little-moments-e2e> 10 | const mediaLinks = page.getByRole("main").getByRole("link");
73.02 s
little-moments-e2e> > 11 | await expect(mediaLinks).toHaveCount(5);
73.02 s
little-moments-e2e> | ^
73.02 s
little-moments-e2e> 12 | // Entry order is newest-first: animated photo, video #2, video #1, photo #2, photo #1.
73.02 s
little-moments-e2e> 13 | await mediaLinks.nth(3).click();
73.02 s
little-moments-e2e> 14 | await expect(page.getByRole("main")).toContainText("test photo #2");
73.02 s
little-moments-e2e> at /build/source/e2e/media.spec.ts:11:30
73.02 s
little-moments-e2e>
73.02 s
little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.02 s
little-moments-e2e> e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/video.webm
73.02 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.02 s
little-moments-e2e>
73.02 s
little-moments-e2e> Error Context: e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/error-context.md
73.02 s
little-moments-e2e>
73.02 s
little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.02 s
little-moments-e2e> e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
73.02 s
little-moments-e2e> Usage:
73.02 s
little-moments-e2e>
73.02 s
little-moments-e2e> npx playwright show-trace e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
73.02 s
little-moments-e2e>
73.02 s
little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
73.02 s
little-moments-e2e>
73.02 s
little-moments-e2e> 10 failed
73.02 s
little-moments-e2e> [chromium] › e2e/browse.spec.ts:66:7 › Browse media › shows the imported media entries on the browse page
73.02 s
little-moments-e2e> [chromium] › e2e/browse.spec.ts:79:7 › Browse media › shows media thumbnails from newest to oldest
73.02 s
little-moments-e2e> [chromium] › e2e/browse.spec.ts:90:7 › Browse media › shows a video indicator on video thumbnails only
73.02 s
little-moments-e2e> [chromium] › e2e/browse.spec.ts:111:7 › Browse media › opens the first entry from the browse page and shows its details
73.02 s
little-moments-e2e> [chromium] › e2e/browse.spec.ts:133:7 › Browse media › moves through adjacent entries with Previous and Next links
73.02 s
little-moments-e2e> [chromium] › e2e/browse.spec.ts:164:7 › Browse media › moves through adjacent entries with left and right arrow keys
73.02 s
little-moments-e2e> [chromium] › e2e/browse.spec.ts:185:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
73.02 s
little-moments-e2e> [chromium] › e2e/browse.spec.ts:212:7 › Browse media › shows the current media position within the full list
73.02 s
little-moments-e2e> [chromium] › e2e/browse.spec.ts:229:7 › Browse media › opens the last entry from the browse page and shows the oldest media
73.02 s
little-moments-e2e> [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
73.17 s
error: Cannot build '/nix/store/x758jd93qiaw54i0d18l2r36sv500727-little-moments-e2e-0.0.1.drv'.
73.17 s
Reason: builder failed with exit code 1.
73.17 s
Output paths:
73.17 s
/nix/store/ls9clrv1zlxgk4qf9w22cy1yss5jxlrj-little-moments-e2e-0.0.1
73.17 s
Last 547 log lines:
73.17 s
> Running phase: unpackPhase
73.17 s
> unpacking source archive /nix/store/hdz8g96s4zssw3rwfzw7qgzy0fkzxnwf-source
73.17 s
> source root is source
73.17 s
> Running phase: patchPhase
73.17 s
> Executing npmConfigHook
73.17 s
> Configuring npm
73.17 s
> Validating consistency between /build/source/package-lock.json and /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps/package-lock.json
73.17 s
> Setting npm_config_cache to /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps
73.17 s
> Installing dependencies
73.17 s
> npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
73.17 s
> npm warn Unknown env config "platform". This will stop working in the next major version of npm.
73.17 s
> npm warn Unknown env config "arch". This will stop working in the next major version of npm.
73.17 s
>
73.17 s
> added 100 packages, and audited 101 packages in 838ms
73.17 s
>
73.17 s
> 25 packages are looking for funding
73.17 s
> run `npm fund` for details
73.17 s
>
73.17 s
> found 0 vulnerabilities
73.17 s
> patching script interpreter paths in node_modules
73.17 s
> node_modules/prettier/bin/prettier.cjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
73.17 s
> node_modules/@playwright/test/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
73.17 s
> node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
73.17 s
> node_modules/ulid/bin/cli.js: interpreter directive changed from "#! /usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
73.17 s
> node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
73.17 s
> node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
73.17 s
> node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
73.17 s
> node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
73.17 s
> node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
73.17 s
> node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
73.17 s
> node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
73.17 s
> node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
73.17 s
> node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
73.17 s
> node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
73.17 s
> node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
73.17 s
> node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh"
73.17 s
> node_modules/playwright-core/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
73.17 s
> node_modules/eslint/bin/eslint.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
73.17 s
> 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"
73.17 s
> node_modules/which/bin/node-which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
73.17 s
> npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
73.17 s
> npm warn Unknown env config "platform". This will stop working in the next major version of npm.
73.17 s
> npm warn Unknown env config "arch". This will stop working in the next major version of npm.
73.17 s
> rebuilt dependencies successfully
73.17 s
> patching script interpreter paths in node_modules
73.17 s
> Finished npmConfigHook
73.17 s
> Running phase: updateAutotoolsGnuConfigScriptsPhase
73.17 s
> Running phase: configurePhase
73.17 s
> no configure script, doing nothing
73.17 s
> Running phase: buildPhase
73.17 s
> no Makefile or custom buildPhase, doing nothing
73.17 s
> Running phase: checkPhase
73.17 s
> npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
73.17 s
> npm warn Unknown env config "platform". This will stop working in the next major version of npm.
73.17 s
> npm warn Unknown env config "arch". This will stop working in the next major version of npm.
73.17 s
> [WebServer] 2026/04/11 15:04:56 codeberg.org/mtlynch/little-moments/cmd/app/main.go:19: starting little-moments server
73.17 s
> [WebServer] 2026/04/11 15:04:56 codeberg.org/mtlynch/little-moments/store/sqlite/sqlite.go:18: reading DB from testdata/store.db
73.17 s
> [WebServer] 2026/04/11 15:04:57 codeberg.org/mtlynch/little-moments/handlers/csp.go:43: CSP media origin: ""
73.17 s
> [WebServer] 2026/04/11 15:04:57 codeberg.org/mtlynch/little-moments/cmd/app/main.go:72: listening on http://localhost:6001
73.17 s
> [WebServer] 2026/04/11 15:04:58 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: POST /api/debug/db/per-session 404 19
73.17 s
>
73.17 s
> Running 10 tests using 1 worker
73.17 s
> Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
73.17 s
> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
73.17 s
> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
73.17 s
> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
73.17 s
> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
73.17 s
> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3292
73.17 s
> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
73.17 s
> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
73.17 s
> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
73.17 s
> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
73.17 s
> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
73.17 s
> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
73.17 s
> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3296
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
73.17 s
> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
73.17 s
> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
73.17 s
> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3292
73.17 s
> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
73.17 s
> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
73.17 s
> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
73.17 s
> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
73.17 s
> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
73.17 s
> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
73.17 s
> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
73.17 s
> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
73.17 s
> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
73.17 s
> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
73.17 s
> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
73.17 s
> T
73.17 s
>
73.17 s
> 1) [chromium] › e2e/browse.spec.ts:66:7 › Browse media › shows the imported media entries on the browse page
73.17 s
>
73.17 s
> Test timeout of 5000ms exceeded.
73.17 s
>
73.17 s
> Error: expect(locator).toHaveCount(expected) failed
73.17 s
>
73.17 s
> Locator: getByRole('main').getByRole('link')
73.17 s
> Expected: 5
73.17 s
> Received: 0
73.17 s
>
73.17 s
> Call log:
73.17 s
> - Expect "toHaveCount" with timeout 5000ms
73.17 s
> - waiting for getByRole('main').getByRole('link')
73.17 s
> 9 × locator resolved to 0 elements
73.17 s
> - unexpected value "0"
73.17 s
>
73.17 s
>
73.17 s
> 69 | const mediaLinks = page.getByRole("main").getByRole("link");
73.17 s
> 70 |
73.17 s
> > 71 | await expect(mediaLinks).toHaveCount(5);
73.17 s
> | ^
73.17 s
> 72 | await expect(mediaLinks.nth(0)).toBeVisible();
73.17 s
> 73 | await expect(mediaLinks.nth(1)).toBeVisible();
73.17 s
> 74 | await expect(mediaLinks.nth(2)).toBeVisible();
73.17 s
> at /build/source/e2e/browse.spec.ts:71:30
73.17 s
>
73.17 s
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/video.webm
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> Error Context: e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/error-context.md
73.17 s
>
73.17 s
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
73.17 s
> Usage:
73.17 s
>
73.17 s
> npx playwright show-trace e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
73.17 s
>
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> 2) [chromium] › e2e/browse.spec.ts:79:7 › Browse media › shows media thumbnails from newest to oldest
73.17 s
>
73.17 s
> Test timeout of 5000ms exceeded.
73.17 s
>
73.17 s
> Error: expect(locator).toHaveCount(expected) failed
73.17 s
>
73.17 s
> Locator: getByRole('main').getByRole('link')
73.17 s
> Expected: 5
73.17 s
> Received: 0
73.17 s
>
73.17 s
> Call log:
73.17 s
> - Expect "toHaveCount" with timeout 5000ms
73.17 s
> - waiting for getByRole('main').getByRole('link')
73.17 s
> 9 × locator resolved to 0 elements
73.17 s
> - unexpected value "0"
73.17 s
>
73.17 s
>
73.17 s
> 80 | const mediaLinks = page.getByRole("main").getByRole("link");
73.17 s
> 81 |
73.17 s
> > 82 | await expect(mediaLinks).toHaveCount(5);
73.17 s
> | ^
73.17 s
> 83 | await expect(mediaLinks.nth(0)).toHaveAttribute("href", "/m/1000");
73.17 s
> 84 | await expect(mediaLinks.nth(1)).toHaveAttribute("href", "/m/1001");
73.17 s
> 85 | await expect(mediaLinks.nth(2)).toHaveAttribute("href", "/m/1002");
73.17 s
> at /build/source/e2e/browse.spec.ts:82:30
73.17 s
>
73.17 s
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/video.webm
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> Error Context: e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/error-context.md
73.17 s
>
73.17 s
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
73.17 s
> Usage:
73.17 s
>
73.17 s
> npx playwright show-trace e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
73.17 s
>
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> 3) [chromium] › e2e/browse.spec.ts:90:7 › Browse media › shows a video indicator on video thumbnails only
73.17 s
>
73.17 s
> Test timeout of 5000ms exceeded.
73.17 s
>
73.17 s
> Error: expect(locator).toHaveCount(expected) failed
73.17 s
>
73.17 s
> Locator: getByRole('main').getByRole('link')
73.17 s
> Expected: 5
73.17 s
> Received: 0
73.17 s
>
73.17 s
> Call log:
73.17 s
> - Expect "toHaveCount" with timeout 5000ms
73.17 s
> - waiting for getByRole('main').getByRole('link')
73.17 s
> 9 × locator resolved to 0 elements
73.17 s
> - unexpected value "0"
73.17 s
>
73.17 s
>
73.17 s
> 91 | const mediaLinks = page.getByRole("main").getByRole("link");
73.17 s
> 92 |
73.17 s
> > 93 | await expect(mediaLinks).toHaveCount(5);
73.17 s
> | ^
73.17 s
> 94 | await expect(
73.17 s
> 95 | mediaLinks.nth(0).getByTestId("video-thumbnail-indicator"),
73.17 s
> 96 | ).toHaveCount(0);
73.17 s
> at /build/source/e2e/browse.spec.ts:93:30
73.17 s
>
73.17 s
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/video.webm
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> Error Context: e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/error-context.md
73.17 s
>
73.17 s
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
73.17 s
> Usage:
73.17 s
>
73.17 s
> npx playwright show-trace e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
73.17 s
>
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> 4) [chromium] › e2e/browse.spec.ts:111:7 › Browse media › opens the first entry from the browse page and shows its details
73.17 s
>
73.17 s
> Test timeout of 5000ms exceeded.
73.17 s
>
73.17 s
> Error: locator.click: Test timeout of 5000ms exceeded.
73.17 s
> Call log:
73.17 s
> - waiting for getByRole('main').getByRole('link').first()
73.17 s
>
73.17 s
>
73.17 s
> 114 | const mediaLinks = page.getByRole("main").getByRole("link");
73.17 s
> 115 |
73.17 s
> > 116 | await mediaLinks.nth(0).click();
73.17 s
> | ^
73.17 s
> 117 |
73.17 s
> 118 | const content = page.getByRole("main");
73.17 s
> 119 |
73.17 s
> at /build/source/e2e/browse.spec.ts:116:29
73.17 s
>
73.17 s
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/video.webm
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> Error Context: e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/error-context.md
73.17 s
>
73.17 s
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
73.17 s
> Usage:
73.17 s
>
73.17 s
> npx playwright show-trace e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
73.17 s
>
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> 5) [chromium] › e2e/browse.spec.ts:133:7 › Browse media › moves through adjacent entries with Previous and Next links
73.17 s
>
73.17 s
> Test timeout of 5000ms exceeded.
73.17 s
>
73.17 s
> Error: locator.click: Test timeout of 5000ms exceeded.
73.17 s
> Call log:
73.17 s
> - waiting for getByRole('main').getByRole('link').nth(1)
73.17 s
>
73.17 s
>
73.17 s
> 136 | const mediaLinks = page.getByRole("main").getByRole("link");
73.17 s
> 137 |
73.17 s
> > 138 | await mediaLinks.nth(1).click();
73.17 s
> | ^
73.17 s
> 139 | await page.getByRole("main").getByRole("link", { name: "Next" }).click();
73.17 s
> 140 |
73.17 s
> 141 | const content = page.getByRole("main");
73.17 s
> at /build/source/e2e/browse.spec.ts:138:29
73.17 s
>
73.17 s
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/video.webm
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> Error Context: e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/error-context.md
73.17 s
>
73.17 s
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
73.17 s
> Usage:
73.17 s
>
73.17 s
> npx playwright show-trace e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
73.17 s
>
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> 6) [chromium] › e2e/browse.spec.ts:164:7 › Browse media › moves through adjacent entries with left and right arrow keys
73.17 s
>
73.17 s
> Test timeout of 5000ms exceeded.
73.17 s
>
73.17 s
> Error: locator.click: Test timeout of 5000ms exceeded.
73.17 s
> Call log:
73.17 s
> - waiting for getByRole('main').getByRole('link').nth(2)
73.17 s
>
73.17 s
>
73.17 s
> 167 | const mediaLinks = page.getByRole("main").getByRole("link");
73.17 s
> 168 |
73.17 s
> > 169 | await mediaLinks.nth(2).click();
73.17 s
> | ^
73.17 s
> 170 |
73.17 s
> 171 | await expect(page).toHaveURL("/m/1002");
73.17 s
> 172 | await expect(page.getByRole("main")).toContainText("test video #1");
73.17 s
> at /build/source/e2e/browse.spec.ts:169:29
73.17 s
>
73.17 s
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/video.webm
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> Error Context: e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/error-context.md
73.17 s
>
73.17 s
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
73.17 s
> Usage:
73.17 s
>
73.17 s
> npx playwright show-trace e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
73.17 s
>
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> 7) [chromium] › e2e/browse.spec.ts:185:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
73.17 s
>
73.17 s
> Test timeout of 5000ms exceeded.
73.17 s
>
73.17 s
> Error: locator.click: Test ended.
73.17 s
> Call log:
73.17 s
> - waiting for getByRole('main').getByRole('link').nth(2)
73.17 s
>
73.17 s
>
73.17 s
> 193 |
73.17 s
> 194 | await mobilePage.goto("/");
73.17 s
> > 195 | await mobilePage.getByRole("main").getByRole("link").nth(2).click();
73.17 s
> | ^
73.17 s
> 196 | await expect(mobilePage).toHaveURL("/m/1002");
73.17 s
> 197 | await expect(mobilePage.getByRole("main")).toContainText("test video #1");
73.17 s
> 198 |
73.17 s
> at /build/source/e2e/browse.spec.ts:195:65
73.17 s
>
73.17 s
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/video.webm
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> Error Context: e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/error-context.md
73.17 s
>
73.17 s
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
73.17 s
> Usage:
73.17 s
>
73.17 s
> npx playwright show-trace e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
73.17 s
>
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> 8) [chromium] › e2e/browse.spec.ts:212:7 › Browse media › shows the current media position within the full list
73.17 s
>
73.17 s
> Test timeout of 5000ms exceeded.
73.17 s
>
73.17 s
> Error: locator.click: Test timeout of 5000ms exceeded.
73.17 s
> Call log:
73.17 s
> - waiting for getByRole('main').getByRole('link').first()
73.17 s
>
73.17 s
>
73.17 s
> 215 | let mediaLinks = page.getByRole("main").getByRole("link");
73.17 s
> 216 |
73.17 s
> > 217 | await mediaLinks.nth(0).click();
73.17 s
> | ^
73.17 s
> 218 | await expect(page.getByRole("main")).toContainText("1 of 5");
73.17 s
> 219 |
73.17 s
> 220 | await page.getByRole("main").getByRole("link", { name: "Next" }).click();
73.17 s
> at /build/source/e2e/browse.spec.ts:217:29
73.17 s
>
73.17 s
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/video.webm
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> Error Context: e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/error-context.md
73.17 s
>
73.17 s
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
73.17 s
> Usage:
73.17 s
>
73.17 s
> npx playwright show-trace e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
73.17 s
>
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> 9) [chromium] › e2e/browse.spec.ts:229:7 › Browse media › opens the last entry from the browse page and shows the oldest media
73.17 s
>
73.17 s
> Test timeout of 5000ms exceeded.
73.17 s
>
73.17 s
> Error: locator.click: Test timeout of 5000ms exceeded.
73.17 s
> Call log:
73.17 s
> - waiting for getByRole('main').getByRole('link').nth(4)
73.17 s
>
73.17 s
>
73.17 s
> 232 | const mediaLinks = page.getByRole("main").getByRole("link");
73.17 s
> 233 |
73.17 s
> > 234 | await mediaLinks.nth(4).click();
73.17 s
> | ^
73.17 s
> 235 |
73.17 s
> 236 | const content = page.getByRole("main");
73.17 s
> 237 |
73.17 s
> at /build/source/e2e/browse.spec.ts:234:29
73.17 s
>
73.17 s
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/video.webm
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> Error Context: e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/error-context.md
73.17 s
>
73.17 s
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.17 s
> e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
73.17 s
> Usage:
73.17 s
>
73.17 s
> npx playwright show-trace e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
73.17 s
>
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> 10) [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
73.17 s
>
73.17 s
> Test timeout of 5000ms exceeded.
73.17 s
>
73.17 s
> Error: expect(locator).toHaveCount(expected) failed
73.17 s
>
73.17 s
> Locator: getByRole('main').getByRole('link')
73.17 s
> Expected: 5
73.17 s
> Received: 0
73.17 s
>
73.17 s
> Call log:
73.17 s
> - Expect "toHaveCount" with timeout 5000ms
73.17 s
> - waiting for getByRole('main').getByRole('link')
73.17 s
> 9 × locator resolved to 0 elements
73.17 s
> - unexpected value "0"
73.17 s
>
73.17 s
>
73.17 s
> 9 | // Navigate to the entry that has a reaction (test photo #2).
73.17 s
> 10 | const mediaLinks = page.getByRole("main").getByRole("link");
73.17 s
> > 11 | await expect(mediaLinks).toHaveCount(5);
73.17 s
> | ^
73.17 s
> 12 | // Entry order is newest-first: animated photo, video #2, video #1, photo #2, photo #1.
73.17 s
> 13 | await mediaLinks.nth(3).click();
73.17 s
> 14 | await expect(page.getByRole("main")).toContainText("test photo #2");
73.17 s
> at /build/source/e2e/media.spec.ts:11:30
73.17 s
>
73.17 s
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
73.17 s
> e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/video.webm
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> Error Context: e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/error-context.md
73.17 s
>
73.17 s
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
73.17 s
> e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
73.17 s
> Usage:
73.17 s
>
73.17 s
> npx playwright show-trace e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
73.17 s
>
73.17 s
> ────────────────────────────────────────────────────────────────────────────────────────────────
73.17 s
>
73.17 s
> 10 failed
73.17 s
> [chromium] › e2e/browse.spec.ts:66:7 › Browse media › shows the imported media entries on the browse page
73.17 s
> [chromium] › e2e/browse.spec.ts:79:7 › Browse media › shows media thumbnails from newest to oldest
73.17 s
> [chromium] › e2e/browse.spec.ts:90:7 › Browse media › shows a video indicator on video thumbnails only
73.17 s
> [chromium] › e2e/browse.spec.ts:111:7 › Browse media › opens the first entry from the browse page and shows its details
73.17 s
> [chromium] › e2e/browse.spec.ts:133:7 › Browse media › moves through adjacent entries with Previous and Next links
73.17 s
> [chromium] › e2e/browse.spec.ts:164:7 › Browse media › moves through adjacent entries with left and right arrow keys
73.17 s
> [chromium] › e2e/browse.spec.ts:185:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
73.17 s
> [chromium] › e2e/browse.spec.ts:212:7 › Browse media › shows the current media position within the full list
73.17 s
> [chromium] › e2e/browse.spec.ts:229:7 › Browse media › opens the last entry from the browse page and shows the oldest media
73.17 s
> [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
73.17 s
For full logs, run:
73.17 s
nix log /nix/store/x758jd93qiaw54i0d18l2r36sv500727-little-moments-e2e-0.0.1.drv