29.51 s[grosiree-e2e] Validating consistency between /build/source/package-lock.json and /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps/package-lock.json
29.53 s[grosiree-e2e] Setting npm_config_cache to /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps
30.22 s[grosiree-e2e] patching script interpreter paths in node_modules
30.23 s[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"
30.24 s[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"
30.24 s[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"
30.25 s[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"
30.26 s[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"
30.27 s[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"
30.27 s[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"
30.28 s[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"
30.29 s[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"
30.30 s[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"
30.30 s[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"
30.31 s[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"
30.32 s[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"
30.33 s[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"
30.33 s[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"
30.34 s[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"
30.35 s[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"
30.36 s[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"
30.37 s[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"
30.37 s[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"
30.44 s[grosiree-e2e] npmwarnUnknown env config "nodedir". This will stop working in the next major version of npm.
30.44 s[grosiree-e2e] npmwarnUnknown env config "platform". This will stop working in the next major version of npm.
30.44 s[grosiree-e2e] npmwarnUnknown env config "arch". This will stop working in the next major version of npm.
32.44 s[grosiree-e2e] Running 4 tests using 1 worker
32.88 s[grosiree-e2e] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
32.96 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token TRZa6SnsNqhyfS8wcx9kedA024hnG4
32.96 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
32.97 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
32.97 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
32.97 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
32.97 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
32.97 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
32.97 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
32.97 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
32.98 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
32.98 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
32.98 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
32.98 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
33.09 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
33.10 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
33.10 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
33.10 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
33.10 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
33.10 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
33.10 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
33.10 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
33.10 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
33.10 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
33.11 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
33.11 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
33.13 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
33.13 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
33.15 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943
33.15 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries/clear 200 87
33.16 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22408
33.16 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
33.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
33.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
33.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
33.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
33.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
33.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
33.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
33.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
33.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
33.19 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36
33.19 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10
33.27 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943
33.28 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36
33.28 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472
33.28 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10
33.55 s[grosiree-e2e] ·[WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token 5YxQWB4zHovN7PV5siVev6wXytcUf4
33.55 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
33.55 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
33.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
33.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
33.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
33.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
33.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
33.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
33.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
33.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
33.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
33.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
33.66 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
33.66 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
33.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
33.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
33.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
33.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
33.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
33.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
33.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
33.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
33.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
33.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
33.69 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
33.69 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
33.70 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
33.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
33.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
33.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
33.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
33.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
33.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
33.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
33.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
33.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
33.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
33.74 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
33.74 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
35.25 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 952
35.27 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
35.27 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472
35.27 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
35.54 s[grosiree-e2e] ·[WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token BCZ6XYYPJBNtbd8qJupKZLDFoLHajk
35.54 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
35.55 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
35.55 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
35.55 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
35.55 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
35.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
35.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
35.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
35.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
35.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
35.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
35.56 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
35.66 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
35.66 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
35.66 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
35.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
35.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
35.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
35.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
35.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
35.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
35.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
35.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
35.67 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
35.69 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
35.69 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
35.70 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 960
35.70 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /grocery-items 200 8515
35.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
35.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
35.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
35.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
35.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
35.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
35.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
35.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
35.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
35.71 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.30 s[grosiree-e2e] TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
41.37 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token 9v6T4LA6P2Fzxaqe1EMoj6OAYwKpiL
41.37 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
41.37 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 303 33
41.38 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
41.38 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.38 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.38 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.38 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.38 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.38 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.39 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.39 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.39 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.39 s[grosiree-e2e] [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.72 s> Validating consistency between /build/source/package-lock.json and /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps/package-lock.json
41.72 s> Setting npm_config_cache to /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps
41.72 s> patching script interpreter paths in node_modules
41.72 s> node_modules/js-yaml/bin/js-yaml.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
41.72 s> node_modules/playwright-core/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
41.72 s> node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh"
41.72 s> node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
41.72 s> node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
41.72 s> node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
41.72 s> node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
41.72 s> node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
41.72 s> node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
41.72 s> node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
41.72 s> node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
41.72 s> node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
41.72 s> node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
41.72 s> node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
41.72 s> node_modules/eslint/bin/eslint.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
41.72 s> node_modules/prettier/bin/prettier.cjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
41.72 s> node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
41.72 s> node_modules/which/bin/node-which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
41.72 s> node_modules/@playwright/test/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
41.72 s> node_modules/ulid/bin/cli.js: interpreter directive changed from "#! /usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
41.72 s> npmwarnUnknown env config "nodedir". This will stop working in the next major version of npm.
41.72 s> npmwarnUnknown env config "platform". This will stop working in the next major version of npm.
41.72 s> npmwarnUnknown env config "arch". This will stop working in the next major version of npm.
41.72 s> Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
41.72 s> [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token TRZa6SnsNqhyfS8wcx9kedA024hnG4
41.72 s> [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
41.72 s> [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
41.72 s> [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.72 s> [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.72 s> [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.72 s> [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.72 s> [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.72 s> [WebServer] 2026/06/30 00:24:02 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries/clear 200 87
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22408
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10
41.72 s> ·[WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token 5YxQWB4zHovN7PV5siVev6wXytcUf4
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
41.72 s> [WebServer] 2026/06/30 00:24:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 952
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
41.72 s> ·[WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token BCZ6XYYPJBNtbd8qJupKZLDFoLHajk
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 960
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /grocery-items 200 8515
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.72 s> [WebServer] 2026/06/30 00:24:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
41.72 s> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token 9v6T4LA6P2Fzxaqe1EMoj6OAYwKpiL
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 303 33
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
41.72 s> [WebServer] 2026/06/30 00:24:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023