$ /nix/store/9ypz3flqsrl5xl495mm8h645gadjsxi1-coreutils-9.11/bin/timeout --kill-after=15s 7200s /nix/store/23zk8sgzamrbmj1fday15szf7f2279s8-nix-2.34.7/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link --print-out-paths git+https://codeberg.org/mtlynch/grosiree?ref=item-secton-type&rev=33697d89ae4272069cb96bdccc7adc7e521aaeb5#packages.x86_64-linux.e2e-tests --print-build-logs  Building /nix/store/z2q69dyb4d2acf61kcjxly3mn2kvrd4a-grosiree-e2e-0.0.1.drv [grosiree-e2e] Phase: unpackPhase [grosiree-e2e] unpacking source archive /nix/store/vbm6x1q48jd7ppn68zxmdfjhak31cvzh-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 570ms [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/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/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/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/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_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_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_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_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_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_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_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/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/acorn/bin/acorn: 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/@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/ulid/bin/cli.js: 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/06/30 00:24:20 starting GrosireΓ© server [grosiree-e2e] [WebServer] 2026/06/30 00:24:20 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from data/store.db [grosiree-e2e] [WebServer] 2026/06/30 00:24:21 codeberg.org/mtlynch/grosiree/cmd/app/main.go:57: listening on 6001 [grosiree-e2e] [WebServer] 2026/06/30 00:24:21 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:50: per-session database = on [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token X9W65NyVbX6zAD2YTa50V6kXd2dVIK [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory: [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries/clear 200 87 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22408 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 [grosiree-e2e] Β·[WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token pWWa6THYPmA1819YWtmCCa7pIC7cbF [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory: [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22408 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22408 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 [grosiree-e2e] [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 952 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 [grosiree-e2e] Β·[WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token QAvhjkwUL4WWNiT97XXgdS0kJtepRx [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory: [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 960 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /grocery-items 200 8515 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 [grosiree-e2e] TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. [grosiree-e2e] [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token wvL0u1jWmGYghEY5VbLGzAV0jPBQ3S [grosiree-e2e] [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory: [grosiree-e2e] [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 303 33 [grosiree-e2e] [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 [grosiree-e2e] [WebServer] 2026/06/30 00:24:30 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/06/30 00:24:30 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/06/30 00:24:30 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/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 [grosiree-e2e] [WebServer] 2026/06/30 00:24:30 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/06/30 00:24:30 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/06/30 00:24:30 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/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 [grosiree-e2e] [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 [grosiree-e2e] [WebServer] 2026/06/30 00:24:30 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:82:7 β€Ί Grocery items page β€Ί deletes item-section rows for names with spaces [grosiree-e2e]  [grosiree-e2e]  Test timeout of 5000ms exceeded. [grosiree-e2e]  [grosiree-e2e]  Error: expect(locator).toHaveCount(expected) failed [grosiree-e2e]  [grosiree-e2e]  Locator: locator('tr').filter({ hasText: 'Frozen peas' }) [grosiree-e2e]  Expected: 1 [grosiree-e2e]  Received: 0 [grosiree-e2e]  [grosiree-e2e]  Call log: [grosiree-e2e]   - Expect "toHaveCount" with timeout 5000ms [grosiree-e2e]   - waiting for locator('tr').filter({ hasText: 'Frozen peas' }) [grosiree-e2e]   8 Γ— locator resolved to 0 elements [grosiree-e2e]   - unexpected value "0" [grosiree-e2e]  [grosiree-e2e]  [grosiree-e2e]  89 | [grosiree-e2e]  90 | const itemRow = page.locator("tr", { hasText: "Frozen peas" }); [grosiree-e2e]  > 91 | await expect(itemRow).toHaveCount(1); [grosiree-e2e]  | ^ [grosiree-e2e]  92 | await itemRow.scrollIntoViewIfNeeded(); [grosiree-e2e]  93 | [grosiree-e2e]  94 | const deleteResponse = page.waitForResponse((response) => { [grosiree-e2e]  at /build/source/e2e/index.spec.ts:91:27 [grosiree-e2e]  [grosiree-e2e]  attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── [grosiree-e2e]  e2e-results/index-Grocery-items-page-d-c1e1d--rows-for-names-with-spaces-chromium/video.webm [grosiree-e2e]  ──────────────────────────────────────────────────────────────────────────────────────────────── [grosiree-e2e]  [grosiree-e2e]  Error Context: e2e-results/index-Grocery-items-page-d-c1e1d--rows-for-names-with-spaces-chromium/error-context.md [grosiree-e2e]  [grosiree-e2e]  attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── [grosiree-e2e]  e2e-results/index-Grocery-items-page-d-c1e1d--rows-for-names-with-spaces-chromium/trace.zip [grosiree-e2e]  Usage: [grosiree-e2e]  [grosiree-e2e]  npx playwright show-trace e2e-results/index-Grocery-items-page-d-c1e1d--rows-for-names-with-spaces-chromium/trace.zip [grosiree-e2e]  [grosiree-e2e]  ──────────────────────────────────────────────────────────────────────────────────────────────── [grosiree-e2e]  [grosiree-e2e]  1 failed [grosiree-e2e]  [chromium] β€Ί e2e/index.spec.ts:82:7 β€Ί Grocery items page β€Ί deletes item-section rows for names with spaces [grosiree-e2e]  3 passed (10.0s) Progress: 0 of 1 built (1 failed) Cannot build '/nix/store/z2q69dyb4d2acf61kcjxly3mn2kvrd4a-grosiree-e2e-0.0.1.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/csmqrlq7jj7k8xb9kkh2pn44czqc22fm-grosiree-e2e-0.0.1 Last 252 log lines: > Running phase: unpackPhase > unpacking source archive /nix/store/vbm6x1q48jd7ppn68zxmdfjhak31cvzh-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 570ms > > 25 packages are looking for funding > run `npm fund` for details > > found 0 vulnerabilities > patching script interpreter paths in node_modules > 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/playwright-core/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" > 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/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_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_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_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_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_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_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_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash" > 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/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/acorn/bin/acorn: 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/@playwright/test/cli.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" > 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/06/30 00:24:20 starting GrosireΓ© server > [WebServer] 2026/06/30 00:24:20 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from data/store.db > [WebServer] 2026/06/30 00:24:21 codeberg.org/mtlynch/grosiree/cmd/app/main.go:57: listening on 6001 > [WebServer] 2026/06/30 00:24:21 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:50: per-session database = on > [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token X9W65NyVbX6zAD2YTa50V6kXd2dVIK > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory: > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries/clear 200 87 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22408 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10 > Β·[WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token pWWa6THYPmA1819YWtmCCa7pIC7cbF > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory: > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22408 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22408 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 > [WebServer] 2026/06/30 00:24:22 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 952 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 > Β·[WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token QAvhjkwUL4WWNiT97XXgdS0kJtepRx > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory: > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 960 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /grocery-items 200 8515 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/06/30 00:24: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/06/30 00:24: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/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/06/30 00:24:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token wvL0u1jWmGYghEY5VbLGzAV0jPBQ3S > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory: > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 303 33 > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498 > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901 > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651 > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572 > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 > [WebServer] 2026/06/30 00:24:30 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/06/30 00:24:30 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/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917 > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 > [WebServer] 2026/06/30 00:24:30 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023 > Β· > > 1) [chromium] β€Ί e2e/index.spec.ts:82:7 β€Ί Grocery items page β€Ί deletes item-section rows for names with spaces > > Test timeout of 5000ms exceeded. > > Error: expect(locator).toHaveCount(expected) failed > > Locator: locator('tr').filter({ hasText: 'Frozen peas' }) > Expected: 1 > Received: 0 > > Call log: >  - Expect "toHaveCount" with timeout 5000ms >  - waiting for locator('tr').filter({ hasText: 'Frozen peas' }) >  8 Γ— locator resolved to 0 elements >  - unexpected value "0" > > > 89 | > 90 | const itemRow = page.locator("tr", { hasText: "Frozen peas" }); > > 91 | await expect(itemRow).toHaveCount(1); > | ^ > 92 | await itemRow.scrollIntoViewIfNeeded(); > 93 | > 94 | const deleteResponse = page.waitForResponse((response) => { > at /build/source/e2e/index.spec.ts:91:27 > > attachment #1: video (video/webm) ────────────────────────────────────────────────────────────── > e2e-results/index-Grocery-items-page-d-c1e1d--rows-for-names-with-spaces-chromium/video.webm > ──────────────────────────────────────────────────────────────────────────────────────────────── > > Error Context: e2e-results/index-Grocery-items-page-d-c1e1d--rows-for-names-with-spaces-chromium/error-context.md > > attachment #3: trace (application/zip) ───────────────────────────────────────────────────────── > e2e-results/index-Grocery-items-page-d-c1e1d--rows-for-names-with-spaces-chromium/trace.zip > Usage: > > npx playwright show-trace e2e-results/index-Grocery-items-page-d-c1e1d--rows-for-names-with-spaces-chromium/trace.zip > > ──────────────────────────────────────────────────────────────────────────────────────────────── > > 1 failed > [chromium] β€Ί e2e/index.spec.ts:82:7 β€Ί Grocery items page β€Ί deletes item-section rows for names with spaces > 3 passed (10.0s) For full logs, run: nix log /nix/store/z2q69dyb4d2acf61kcjxly3mn2kvrd4a-grosiree-e2e-0.0.1.drv Build failed.