$ /nix/store/vzx1mi9c0xfadmsm9dhd83d005cb1qs9-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 --log-format internal-json build --no-link git+https://codeberg.org/mtlynch/grosiree?ref=warn-on-section&rev=4bc0d58b38c0b165d2ba08b34b512e65f7acfe9f#packages.x86_64-linux.e2e-tests --print-build-logs error (ignored): SQLite database '/var/cache/private/nix-ci-worker/eval-cache-v6/b6a45deb0a5c134b39e487fb13cef4ff734f4bb016744a5fbf849e469a0ccac4.sqlite' is busy  Substituting grosiree-e2e-0.0.1-npm-deps from https://cache.nix-ci.com Substituting npm-build-hook from https://cache.nix-ci.com Substituting dejavu-fonts-minimal from https://cache.nix-ci.com Substituting install-shell-files from https://cache.nix-ci.com Substituting mailcap from https://cache.nix-ci.com Substituting nodejs-22.21.1-source from https://cache.nix-ci.com Substituting tzdata from https://cache.nix-ci.com Substituting bzip2 from https://cache.nix-ci.com Substituting die-hook from https://cache.nix-ci.com Substituting expat from https://cache.nix-ci.com Substituting file from https://cache.nix-ci.com Substituting gawk from https://cache.nix-ci.com Substituting gdbm-1.26-lib from https://cache.nix-ci.com Substituting gnu-config-2024-01 from https://cache.nix-ci.com Substituting diffutils from https://cache.nix-ci.com Substituting ed from https://cache.nix-ci.com Progress: 0 of 13 built, 1 of 74 fetched (15 fetching) Substituting binutils-2.44-lib from https://cache.nix-ci.com Progress: 0 of 12 built, 2 of 74 fetched (15 fetching) Substituting brotli-1.1.0-lib from https://cache.nix-ci.com Progress: 0 of 12 built, 3 of 74 fetched (15 fetching) Substituting c-ares from https://cache.nix-ci.com Progress: 0 of 12 built, 4 of 74 fetched (15 fetching) Substituting expand-response-params from https://cache.nix-ci.com Progress: 0 of 12 built, 5 of 74 fetched (15 fetching) Substituting bzip2-1.0.8-bin from https://cache.nix-ci.com Progress: 0 of 12 built, 6 of 74 fetched (15 fetching) Substituting findutils from https://cache.nix-ci.com Progress: 0 of 12 built, 7 of 74 fetched (15 fetching) Substituting git-minimal from https://cache.nix-ci.com Progress: 0 of 12 built, 8 of 74 fetched (15 fetching) Substituting glibc-2.40-66-bin from https://cache.nix-ci.com Progress: 0 of 12 built, 9 of 74 fetched (15 fetching) Substituting gmp from https://cache.nix-ci.com Progress: 0 of 12 built, 10 of 74 fetched (15 fetching) Substituting gnumake from https://cache.nix-ci.com Progress: 0 of 12 built, 11 of 74 fetched (15 fetching) Substituting gnused from https://cache.nix-ci.com Progress: 0 of 12 built, 12 of 74 fetched (15 fetching) Substituting gnutar from https://cache.nix-ci.com Progress: 0 of 12 built, 13 of 74 fetched (15 fetching) Substituting gzip from https://cache.nix-ci.com Progress: 0 of 12 built, 14 of 74 fetched (15 fetching) Substituting keyutils-1.6.3-lib from https://cache.nix-ci.com Progress: 0 of 12 built, 15 of 74 fetched (15 fetching) Substituting libffi from https://cache.nix-ci.com Progress: 0 of 12 built, 16 of 74 fetched (15 fetching) Substituting libssh2 from https://cache.nix-ci.com Progress: 0 of 12 built, 17 of 74 fetched (15 fetching) Substituting linux-headers from https://cache.nix-ci.com Progress: 0 of 12 built, 18 of 74 fetched (15 fetching) Substituting binutils from https://cache.nix-ci.com Progress: 0 of 12 built, 19 of 74 fetched (15 fetching) Substituting make-shell-wrapper-hook from https://cache.nix-ci.com Progress: 0 of 12 built, 20 of 74 fetched (15 fetching) Substituting isl from https://cache.nix-ci.com Progress: 0 of 12 built, 21 of 74 fetched (15 fetching) Substituting mpdecimal from https://cache.nix-ci.com Progress: 0 of 12 built, 22 of 74 fetched (15 fetching) Substituting mpfr from https://cache.nix-ci.com Progress: 0 of 12 built, 23 of 74 fetched (15 fetching) Substituting nghttp2-1.67.1-lib from https://cache.nix-ci.com Progress: 0 of 12 built, 24 of 74 fetched (15 fetching) Substituting nghttp3 from https://cache.nix-ci.com Progress: 0 of 12 built, 25 of 74 fetched (15 fetching) Substituting krb5-1.22.1-lib from https://cache.nix-ci.com Progress: 0 of 12 built, 26 of 74 fetched (15 fetching) Substituting ngtcp2 from https://cache.nix-ci.com Progress: 0 of 12 built, 27 of 74 fetched (15 fetching) Substituting nodejs from https://cache.nix-ci.com Progress: 0 of 12 built, 28 of 74 fetched (15 fetching) Substituting nss-cacert from https://cache.nix-ci.com Progress: 0 of 12 built, 29 of 74 fetched (15 fetching) Substituting oniguruma-6.9.10-lib from https://cache.nix-ci.com Progress: 0 of 12 built, 30 of 74 fetched (15 fetching) Substituting patch from https://cache.nix-ci.com Progress: 0 of 12 built, 31 of 74 fetched (15 fetching) Substituting patchelf from https://cache.nix-ci.com Progress: 0 of 12 built, 32 of 74 fetched (15 fetching) Substituting libmpc from https://cache.nix-ci.com Progress: 0 of 12 built, 33 of 74 fetched (15 fetching) Substituting pcre2 from https://cache.nix-ci.com Progress: 0 of 12 built, 34 of 74 fetched (15 fetching) Substituting publicsuffix-list-0-unstable-2025-10 from https://cache.nix-ci.com Progress: 0 of 12 built, 35 of 74 fetched (15 fetching) Substituting update-autotools-gnu-config-scripts-hook from https://cache.nix-ci.com Progress: 0 of 12 built, 36 of 74 fetched (15 fetching) Substituting util-linux-minimal-2.41.2-lib from https://cache.nix-ci.com Progress: 0 of 11 built, 37 of 74 fetched (15 fetching) Substituting xz from https://cache.nix-ci.com Progress: 0 of 11 built, 38 of 74 fetched (15 fetching) Substituting zstd from https://cache.nix-ci.com Progress: 0 of 11 built, 39 of 74 fetched (15 fetching) Substituting jq from https://cache.nix-ci.com Progress: 0 of 11 built, 40 of 74 fetched (15 fetching) Progress: 0 of 11 built, 41 of 74 fetched (14 fetching) Progress: 0 of 11 built, 42 of 74 fetched (13 fetching) Substituting gnugrep from https://cache.nix-ci.com Progress: 0 of 11 built, 43 of 74 fetched (13 fetching) Building grosiree-dev-0.0.1-go-modules Progress: 0 of 10 built (1 building), 44 of 74 fetched (12 fetching) Progress: 0 of 10 built (1 building), 45 of 74 fetched (11 fetching) Progress: 0 of 10 built (1 building), 46 of 74 fetched (10 fetching) Progress: 0 of 10 built (1 building), 47 of 74 fetched (9 fetching) Progress: 0 of 10 built (1 building), 48 of 74 fetched (8 fetching) Progress: 0 of 10 built (1 building), 49 of 74 fetched (7 fetching) Progress: 0 of 10 built (1 building), 50 of 74 fetched (6 fetching) Substituting jq-1.8.1-bin from https://cache.nix-ci.com Substituting python3 from https://cache.nix-ci.com Substituting xz-5.8.1-bin from https://cache.nix-ci.com [grosiree-dev-0.0.1-go-modules] Phase: unpackPhase [grosiree-dev-0.0.1-go-modules] unpacking source archive /nix/store/jh03p1x4gpnfgn5k9fv839f24g7clwwh-source [grosiree-dev-0.0.1-go-modules] source root is source [grosiree-dev-0.0.1-go-modules] Phase: patchPhase [grosiree-dev-0.0.1-go-modules] Phase: updateAutotoolsGnuConfigScriptsPhase [grosiree-dev-0.0.1-go-modules] Phase: configurePhase [grosiree-dev-0.0.1-go-modules] Phase: buildPhase Progress: 0 of 10 built (1 building), 51 of 74 fetched (8 fetching) Substituting nodejs-install-manuals from https://cache.nix-ci.com [grosiree-dev-0.0.1-go-modules] go: downloading github.com/ncruces/go-sqlite3 v0.22.0 Progress: 0 of 10 built (1 building), 52 of 74 fetched (8 fetching) [grosiree-dev-0.0.1-go-modules] go: downloading codeberg.org/mtlynch/go-evolutionary-migrate v0.0.1 [grosiree-dev-0.0.1-go-modules] go: downloading golang.org/x/crypto v0.48.0 Progress: 0 of 10 built (1 building), 53 of 74 fetched (7 fetching) Substituting libpsl from https://cache.nix-ci.com Progress: 0 of 10 built (1 building), 54 of 74 fetched (7 fetching) Progress: 0 of 10 built (1 building), 55 of 74 fetched (6 fetching) Substituting curl from https://cache.nix-ci.com Progress: 0 of 10 built (1 building), 56 of 74 fetched (6 fetching) Substituting dejavu-fonts from https://cache.nix-ci.com Progress: 0 of 10 built (1 building), 57 of 74 fetched (6 fetching) Substituting prefetch-npm-deps from https://cache.nix-ci.com [grosiree-dev-0.0.1-go-modules] go: downloading golang.org/x/sys v0.41.0 [grosiree-dev-0.0.1-go-modules] go: downloading github.com/tetratelabs/wazero v1.8.2 [grosiree-dev-0.0.1-go-modules] go: downloading github.com/ncruces/julianday v1.0.0 Progress: 0 of 10 built (1 building), 58 of 74 fetched (6 fetching) Progress: 0 of 10 built (1 building), 59 of 74 fetched (5 fetching) Substituting glibc-2.40-66-dev from https://cache.nix-ci.com Progress: 0 of 10 built (1 building), 60 of 74 fetched (5 fetching) Substituting fonts.conf from https://cache.nix-ci.com Progress: 0 of 10 built (1 building), 61 of 74 fetched (5 fetching) Progress: 0 of 9 built (1 building), 62 of 74 fetched (4 fetching) Substituting binutils-wrapper from https://cache.nix-ci.com Substituting gcc from https://cache.nix-ci.com Progress: 0 of 9 built (1 building), 63 of 74 fetched (5 fetching) Progress: 0 of 9 built (1 building), 64 of 74 fetched (4 fetching) Progress: 0 of 8 built (1 building), 65 of 74 fetched (3 fetching) Substituting nodejs-22.21.1-dev from https://cache.nix-ci.com Substituting nodejs-install-executables from https://cache.nix-ci.com Progress: 0 of 8 built (1 building), 66 of 74 fetched (4 fetching) Substituting npm-install-hook from https://cache.nix-ci.com Progress: 0 of 8 built (1 building), 67 of 74 fetched (4 fetching) Progress: 0 of 7 built (1 building), 68 of 74 fetched (3 fetching) Progress: 0 of 6 built (1 building), 69 of 74 fetched (2 fetching) [grosiree-dev-0.0.1-go-modules] Phase: installPhase [post-build-hook] Uploading paths from nix-ci to the NixCI cache /nix/store/flrl86r0w9sgzb741y9n47dj1cfjarlr-grosiree-dev-0.0.1-go-modules [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/flrl86r0w9sgzb741y9n47dj1cfjarlr-grosiree-dev-0.0.1-go-modules' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 1 of 6 built, 69 of 74 fetched (2 fetching) Building grosiree-dev Progress: 1 of 5 built (1 building), 70 of 74 fetched (1 fetching) Progress: 1 of 5 built (1 building), 71 of 74 fetched Substituting gcc-wrapper from https://cache.nix-ci.com Substituting npm-config-hook from https://cache.nix-ci.com Progress: 1 of 5 built (1 building), 72 of 74 fetched (1 fetching) Progress: 1 of 4 built (1 building), 73 of 74 fetched Substituting stdenv-linux from https://cache.nix-ci.com [grosiree-dev] Phase: unpackPhase [grosiree-dev] unpacking source archive /nix/store/jh03p1x4gpnfgn5k9fv839f24g7clwwh-source Progress: 1 of 4 built (1 building), 74 of 74 fetched [grosiree-dev] source root is source [grosiree-dev] Phase: patchPhase [grosiree-dev] Phase: updateAutotoolsGnuConfigScriptsPhase [grosiree-dev] Phase: configurePhase [grosiree-dev] Phase: buildPhase [grosiree-dev] Building subPackage ./cmd/app [grosiree-dev] Phase: checkPhase [grosiree-dev] ? codeberg.org/mtlynch/grosiree/cmd/app [no test files] [grosiree-dev] Phase: installPhase [grosiree-dev] Phase: fixupPhase [grosiree-dev] shrinking RPATHs of ELF executables and libraries in /nix/store/5rc791rhgkmh7qfjck40x231gvzl1qaq-grosiree-dev-0.0.1 [grosiree-dev] shrinking /nix/store/5rc791rhgkmh7qfjck40x231gvzl1qaq-grosiree-dev-0.0.1/bin/app-dev [grosiree-dev] patchelf: cannot find section '.dynamic'. The input file is most likely statically linked [grosiree-dev] checking for references to /build/ in /nix/store/5rc791rhgkmh7qfjck40x231gvzl1qaq-grosiree-dev-0.0.1... [grosiree-dev] patchelf: cannot find section '.dynamic'. The input file is most likely statically linked [grosiree-dev] patching script interpreter paths in /nix/store/5rc791rhgkmh7qfjck40x231gvzl1qaq-grosiree-dev-0.0.1 [grosiree-dev] stripping (with command strip and flags -S -p) in /nix/store/5rc791rhgkmh7qfjck40x231gvzl1qaq-grosiree-dev-0.0.1/bin [post-build-hook] Uploading paths from nix-ci to the NixCI cache /nix/store/5rc791rhgkmh7qfjck40x231gvzl1qaq-grosiree-dev-0.0.1 [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/5rc791rhgkmh7qfjck40x231gvzl1qaq-grosiree-dev-0.0.1' to 'https://cache.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 0 paths... Progress: 2 of 4 built, 74 of 74 fetched Building grosiree-e2e [grosiree-e2e] Phase: unpackPhase [grosiree-e2e] unpacking source archive /nix/store/jh03p1x4gpnfgn5k9fv839f24g7clwwh-source [grosiree-e2e] source root is source [grosiree-e2e] Phase: patchPhase [grosiree-e2e] Executing npmConfigHook [grosiree-e2e] Configuring npm [grosiree-e2e] Validating consistency between /build/source/package-lock.json and /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps/package-lock.json [grosiree-e2e] Setting npm_config_cache to /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps [grosiree-e2e] Installing dependencies [grosiree-e2e] npm warn Unknown env config "nodedir". This will stop working in the next major version of npm. [grosiree-e2e] npm warn Unknown env config "platform". This will stop working in the next major version of npm. [grosiree-e2e] npm warn Unknown env config "arch". This will stop working in the next major version of npm. [grosiree-e2e]  [grosiree-e2e] added 100 packages, and audited 101 packages in 602ms [grosiree-e2e]  [grosiree-e2e] 25 packages are looking for funding [grosiree-e2e]  run `npm fund` for details [grosiree-e2e]  [grosiree-e2e] found 0 vulnerabilities [grosiree-e2e] patching script interpreter paths in node_modules [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-e2e] node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh" [grosiree-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" [grosiree-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" [grosiree-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" [grosiree-e2e] node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [grosiree-e2e] node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [grosiree-e2e] npm warn Unknown env config "nodedir". This will stop working in the next major version of npm. [grosiree-e2e] npm warn Unknown env config "platform". This will stop working in the next major version of npm. [grosiree-e2e] npm warn Unknown env config "arch". This will stop working in the next major version of npm. [grosiree-e2e] rebuilt dependencies successfully [grosiree-e2e] patching script interpreter paths in node_modules [grosiree-e2e] Finished npmConfigHook [grosiree-e2e] Phase: updateAutotoolsGnuConfigScriptsPhase [grosiree-e2e] Phase: configurePhase [grosiree-e2e] no configure script, doing nothing [grosiree-e2e] Phase: buildPhase [grosiree-e2e] no Makefile or custom buildPhase, doing nothing [grosiree-e2e] Phase: checkPhase [grosiree-e2e] npm warn Unknown env config "nodedir". This will stop working in the next major version of npm. [grosiree-e2e] npm warn Unknown env config "platform". This will stop working in the next major version of npm. [grosiree-e2e] npm warn Unknown env config "arch". This will stop working in the next major version of npm. [grosiree-e2e] [WebServer] 2026/04/26 23:54:20 starting GrosireΓ© server [grosiree-e2e] [WebServer] 2026/04/26 23:54:20 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from data/store.db [grosiree-e2e] [WebServer] 2026/04/26 23:54:20 codeberg.org/mtlynch/grosiree/cmd/app/main.go:57: listening on 6001 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:47: per-session database = on [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/debug/db/per-session 200 0 [grosiree-e2e]  [grosiree-e2e] Running 4 tests using 1 worker [grosiree-e2e] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token FrjjazNxLJDMkpBNuetR8PRkymJik3 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries/clear 200 87 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 [grosiree-e2e] [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 [grosiree-e2e] Β·[WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token FREVXYb0UHkerX3H0FuG72NOunXFTP [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 23276 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 23264 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 [grosiree-e2e] [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 [grosiree-e2e] [WebServer] 2026/04/26 23:54:23 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 1808 [grosiree-e2e] [WebServer] 2026/04/26 23:54:23 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 [grosiree-e2e] [WebServer] 2026/04/26 23:54:23 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 68 [grosiree-e2e] FSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token fWaYbPjNj82JIs7Z0Nb62B9DJ1UUCT [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 24117 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 68 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 2570 [grosiree-e2e] [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /grocery-items 200 10428 [grosiree-e2e] [WebServer] 2026/04/26 23:54:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: DELETE /api/item-sections/Frozen peas 200 0 [grosiree-e2e] Β·[WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token UBDig83YVNWxcWKmAfaf5W1upQsTBY [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 303 33 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] Β· [grosiree-e2e]  [grosiree-e2e]  1) [chromium] β€Ί e2e/index.spec.ts:41:7 β€Ί Main grocery form β€Ί warns before adding an item without a section [grosiree-e2e]  [grosiree-e2e]  Error: expect(locator).toContainText(expected) failed [grosiree-e2e]  [grosiree-e2e]  Locator: locator('.section-label') [grosiree-e2e]  Expected substring: "Unsorted" [grosiree-e2e]  Error: strict mode violation: locator('.section-label') resolved to 2 elements: [grosiree-e2e]  1)
Dairy
aka getByText('Dairy') [grosiree-e2e]  2)
Unsorted
aka getByText('Unsorted') [grosiree-e2e]  [grosiree-e2e]  Call log: [grosiree-e2e]   - Expect "toContainText" with timeout 5000ms [grosiree-e2e]   - waiting for locator('.section-label') [grosiree-e2e]   2 Γ— locator resolved to
Dairy
 [grosiree-e2e]   - unexpected value "Dairy" [grosiree-e2e]  [grosiree-e2e]  [grosiree-e2e]  70 | await page.getByRole("button", { name: "Add without section" }).click(); [grosiree-e2e]  71 | [grosiree-e2e]  > 72 | await expect(page.locator(".section-label")).toContainText("Unsorted"); [grosiree-e2e]  | ^ [grosiree-e2e]  73 | await expect(page.locator(".grocery-item .name")).toContainText("Bananas"); [grosiree-e2e]  74 | }); [grosiree-e2e]  75 | }); [grosiree-e2e]  at /build/source/e2e/index.spec.ts:72:50 [grosiree-e2e]  [grosiree-e2e]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [grosiree-e2e]  e2e-results/index-Main-grocery-form-wa-c6c9a-g-an-item-without-a-section-chromium/video.webm [grosiree-e2e]  ──────────────────────────────────────────────────────────────────────────────────────────────── [grosiree-e2e]  [grosiree-e2e]  Error Context: e2e-results/index-Main-grocery-form-wa-c6c9a-g-an-item-without-a-section-chromium/error-context.md [grosiree-e2e]  [grosiree-e2e]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [grosiree-e2e]  e2e-results/index-Main-grocery-form-wa-c6c9a-g-an-item-without-a-section-chromium/trace.zip [grosiree-e2e]  Usage: [grosiree-e2e]  [grosiree-e2e]  npx playwright show-trace e2e-results/index-Main-grocery-form-wa-c6c9a-g-an-item-without-a-section-chromium/trace.zip [grosiree-e2e]  [grosiree-e2e]  ──────────────────────────────────────────────────────────────────────────────────────────────── [grosiree-e2e]  [grosiree-e2e]  1 failed [grosiree-e2e]  [chromium] β€Ί e2e/index.spec.ts:41:7 β€Ί Main grocery form β€Ί warns before adding an item without a section [grosiree-e2e]  3 passed (6.2s) Progress: 2 of 3 built (1 failed), 74 of 74 fetched Cannot build '/nix/store/blv4s98khbpy5hajn39jpbd5shvmxwg4-grosiree-e2e-0.0.1.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/iz8hx4n8vs06krz2s8c3azdm46xj9lh1-grosiree-e2e-0.0.1 Last 194 log lines: > Running phase: unpackPhase > unpacking source archive /nix/store/jh03p1x4gpnfgn5k9fv839f24g7clwwh-source > source root is source > Running phase: patchPhase > Executing npmConfigHook > Configuring npm > Validating consistency between /build/source/package-lock.json and /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps/package-lock.json > Setting npm_config_cache to /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps > Installing dependencies > npm warn Unknown env config "nodedir". This will stop working in the next major version of npm. > npm warn Unknown env config "platform". This will stop working in the next major version of npm. > npm warn Unknown env config "arch". This will stop working in the next major version of npm. > > added 100 packages, and audited 101 packages in 602ms > > 25 packages are looking for funding > run `npm fund` for details > > found 0 vulnerabilities > patching script interpreter paths in node_modules > node_modules/@playwright/test/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/which/bin/node-which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/js-yaml/bin/js-yaml.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/ulid/bin/cli.js: interpreter directive changed from "#! /usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > 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" > 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" > 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" > 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" > 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" > 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" > 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" > 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" > 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" > 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" > node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh" > node_modules/playwright-core/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/eslint/bin/eslint.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/prettier/bin/prettier.cjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > npm warn Unknown env config "nodedir". This will stop working in the next major version of npm. > npm warn Unknown env config "platform". This will stop working in the next major version of npm. > npm warn Unknown env config "arch". This will stop working in the next major version of npm. > rebuilt dependencies successfully > patching script interpreter paths in node_modules > Finished npmConfigHook > Running phase: updateAutotoolsGnuConfigScriptsPhase > Running phase: configurePhase > no configure script, doing nothing > Running phase: buildPhase > no Makefile or custom buildPhase, doing nothing > Running phase: checkPhase > npm warn Unknown env config "nodedir". This will stop working in the next major version of npm. > npm warn Unknown env config "platform". This will stop working in the next major version of npm. > npm warn Unknown env config "arch". This will stop working in the next major version of npm. > [WebServer] 2026/04/26 23:54:20 starting GrosireΓ© server > [WebServer] 2026/04/26 23:54:20 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from data/store.db > [WebServer] 2026/04/26 23:54:20 codeberg.org/mtlynch/grosiree/cmd/app/main.go:57: listening on 6001 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:47: per-session database = on > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/debug/db/per-session 200 0 > > Running 4 tests using 1 worker > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token FrjjazNxLJDMkpBNuetR8PRkymJik3 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries/clear 200 87 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 > [WebServer] 2026/04/26 23:54:21 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 > Β·[WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token FREVXYb0UHkerX3H0FuG72NOunXFTP > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 23276 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 23264 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 > [WebServer] 2026/04/26 23:54:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 > [WebServer] 2026/04/26 23:54:23 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 1808 > [WebServer] 2026/04/26 23:54:23 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 > [WebServer] 2026/04/26 23:54:23 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 68 > FSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token fWaYbPjNj82JIs7Z0Nb62B9DJ1UUCT > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 24117 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 68 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 2570 > [WebServer] 2026/04/26 23:54:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /grocery-items 200 10428 > [WebServer] 2026/04/26 23:54:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: DELETE /api/item-sections/Frozen peas 200 0 > Β·[WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token UBDig83YVNWxcWKmAfaf5W1upQsTBY > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 303 33 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/04/26 23:54:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > Β· > > 1) [chromium] β€Ί e2e/index.spec.ts:41:7 β€Ί Main grocery form β€Ί warns before adding an item without a section > > Error: expect(locator).toContainText(expected) failed > > Locator: locator('.section-label') > Expected substring: "Unsorted" > Error: strict mode violation: locator('.section-label') resolved to 2 elements: > 1)
Dairy
aka getByText('Dairy') > 2)
Unsorted
aka getByText('Unsorted') > > Call log: >  - Expect "toContainText" with timeout 5000ms >  - waiting for locator('.section-label') >  2 Γ— locator resolved to
Dairy
 >  - unexpected value "Dairy" > > > 70 | await page.getByRole("button", { name: "Add without section" }).click(); > 71 | > > 72 | await expect(page.locator(".section-label")).toContainText("Unsorted"); > | ^ > 73 | await expect(page.locator(".grocery-item .name")).toContainText("Bananas"); > 74 | }); > 75 | }); > at /build/source/e2e/index.spec.ts:72:50 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/index-Main-grocery-form-wa-c6c9a-g-an-item-without-a-section-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/index-Main-grocery-form-wa-c6c9a-g-an-item-without-a-section-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/index-Main-grocery-form-wa-c6c9a-g-an-item-without-a-section-chromium/trace.zip > Usage: > > npx playwright show-trace e2e-results/index-Main-grocery-form-wa-c6c9a-g-an-item-without-a-section-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 1 failed > [chromium] β€Ί e2e/index.spec.ts:41:7 β€Ί Main grocery form β€Ί warns before adding an item without a section > 3 passed (6.2s) For full logs, run: nix log /nix/store/blv4s98khbpy5hajn39jpbd5shvmxwg4-grosiree-e2e-0.0.1.drv