$ /nix/store/wkkwxc04gdw6b263l1h29pjarjnjdyb6-coreutils-9.8/bin/timeout --kill-after=15s 1800s /nix/store/vnjf0zi1lbln0srm2z743j70kjav76ln-nix-2.34.4/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes build --no-link git+https://codeberg.org/mtlynch/grosiree?ref=fix-all-items&rev=24471aab066721afaa5f1c2ded00f90bbc5242f6#packages.x86_64-linux.e2e-tests --print-build-logs this derivation will be built: /nix/store/r0ds8lig81vs3f8v677ndb34av091dav-grosiree-e2e-0.0.1.drv building '/nix/store/r0ds8lig81vs3f8v677ndb34av091dav-grosiree-e2e-0.0.1.drv'... grosiree-e2e> Running phase: unpackPhase grosiree-e2e> unpacking source archive /nix/store/44410mf4gnjar8nl043iy4lbizs2yvhz-source grosiree-e2e> source root is source grosiree-e2e> Running 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 992ms 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/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/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/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_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_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_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_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_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_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_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_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_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/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/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/cli.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/test/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> Running phase: updateAutotoolsGnuConfigScriptsPhase grosiree-e2e> Running phase: configurePhase grosiree-e2e> no configure script, doing nothing grosiree-e2e> Running phase: buildPhase grosiree-e2e> no Makefile or custom buildPhase, doing nothing grosiree-e2e> Running 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/04 20:47:09 starting Grosireé server grosiree-e2e> [WebServer] 2026/04/04 20:47:09 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from data/store.db grosiree-e2e> [WebServer] 2026/04/04 20:47:10 codeberg.org/mtlynch/grosiree/cmd/app/main.go:57: listening on 6001 grosiree-e2e> [WebServer] 2026/04/04 20:47:11 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:47: per-session database = on grosiree-e2e> [WebServer] 2026/04/04 20:47:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/debug/db/per-session 200 0 grosiree-e2e> grosiree-e2e> Running 5 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/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token RqnyuuJnxhTtxiSZyo0f8IDKUagrkt grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4437 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 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/04 20:47:12 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/04 20:47:12 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/04 20:47:12 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/04 20:47:12 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/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 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/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 873 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 19961 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 946 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 20832 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 9 grosiree-e2e> [WebServer] 2026/04/04 20:47:12 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/04 20:47:17 codeberg.org/mtlynch/grosiree/handlers/groceries.go:382: failed to get section ordering: sqlite3: interrupted grosiree-e2e> [WebServer] 2026/04/04 20:47:17 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries/1/toggle 500 53 grosiree-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. grosiree-e2e> [WebServer] 2026/04/04 20:47:18 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token Jo32icsWzsLcqntPHhsqG1yVVCjBLc grosiree-e2e> [WebServer] 2026/04/04 20:47:18 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: grosiree-e2e> [WebServer] 2026/04/04 20:47:18 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4437 grosiree-e2e> [WebServer] 2026/04/04 20:47:18 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/04 20:47:18 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/04 20:47:18 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 grosiree-e2e> [WebServer] 2026/04/04 20:47:18 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/04 20:47:18 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/04 20:47:18 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/04 20:47:18 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/04 20:47:18 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 grosiree-e2e> [WebServer] 2026/04/04 20:47:18 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 grosiree-e2e> [WebServer] 2026/04/04 20:47:18 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 873 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 21088 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 9 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 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/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 2073 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 21947 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 9 grosiree-e2e> ·[WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token ZRxZBirAhZK7jFVyzU0BfOEmE0nFJR grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4437 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 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/04 20:47:19 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/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 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/04 20:47:19 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/04 20:47:19 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/04 20:47:19 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/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 873 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 21947 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 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/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 9 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 2821 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22695 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 9 grosiree-e2e> [WebServer] 2026/04/04 20:47:19 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 grosiree-e2e> [WebServer] 2026/04/04 20:47:24 codeberg.org/mtlynch/grosiree/handlers/groceries.go:375: failed to get grocery items: context canceled grosiree-e2e> [WebServer] 2026/04/04 20:47:24 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries/2/toggle 500 46 grosiree-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set. grosiree-e2e> [WebServer] 2026/04/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token yxV4fc3fS2PJH1UOz3sXJJS23DiXBu grosiree-e2e> [WebServer] 2026/04/04 20:47:25 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: grosiree-e2e> [WebServer] 2026/04/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4437 grosiree-e2e> [WebServer] 2026/04/04 20:47:25 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/04 20:47:25 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/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 grosiree-e2e> [WebServer] 2026/04/04 20:47:25 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/04 20:47:25 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/04 20:47:25 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/04 20:47:25 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/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 grosiree-e2e> [WebServer] 2026/04/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 873 grosiree-e2e> [WebServer] 2026/04/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 grosiree-e2e> [WebServer] 2026/04/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0 grosiree-e2e> [WebServer] 2026/04/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22702 grosiree-e2e> [WebServer] 2026/04/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3 grosiree-e2e> [WebServer] 2026/04/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 9 grosiree-e2e> [WebServer] 2026/04/04 20:47:25 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/04 20:47:25 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 3590 grosiree-e2e> [WebServer] 2026/04/04 20:47:26 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /grocery-items 200 9671 grosiree-e2e> [WebServer] 2026/04/04 20:47:27 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: DELETE /api/item-sections/Frozen peas 200 0 grosiree-e2e> ·[WebServer] 2026/04/04 20:47:27 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:91: provisioning a new private database with token 6Utp8h6vfzCgHH1ZTyzus2H2zWkaia grosiree-e2e> [WebServer] 2026/04/04 20:47:27 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:23: reading DB from :memory: grosiree-e2e> [WebServer] 2026/04/04 20:47:27 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 303 33 grosiree-e2e> [WebServer] 2026/04/04 20:47:27 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4437 grosiree-e2e> [WebServer] 2026/04/04 20:47:27 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/04 20:47:27 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/04 20:47:27 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574 grosiree-e2e> [WebServer] 2026/04/04 20:47:27 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/04 20:47:27 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/04 20:47:27 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/04 20:47:27 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/04 20:47:27 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775 grosiree-e2e> [WebServer] 2026/04/04 20:47:27 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813 grosiree-e2e> [WebServer] 2026/04/04 20:47:27 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 873 grosiree-e2e> · grosiree-e2e> grosiree-e2e> 1) [chromium] › e2e/index.spec.ts:23:7 › Index page › optimistically applies in-cart class before server responds grosiree-e2e> grosiree-e2e> Test timeout of 5000ms exceeded. grosiree-e2e> grosiree-e2e> Error: expect(locator).toHaveClass(expected) failed grosiree-e2e> grosiree-e2e> Locator: locator('#grocery-list .grocery-item').first() grosiree-e2e> Expected pattern: /in-cart/ grosiree-e2e> Received string: " grosiree-e2e> grocery-item grosiree-e2e> " grosiree-e2e> grosiree-e2e> Call log: grosiree-e2e> - Expect "toHaveClass" with timeout 5000ms grosiree-e2e> - waiting for locator('#grocery-list .grocery-item').first() grosiree-e2e> 8 × locator resolved to