4.69 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
4.71 s[grosiree-e2e] Setting npm_config_cache to /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps
5.37 s[grosiree-e2e] patching script interpreter paths in node_modules
5.38 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"
5.39 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"
5.39 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"
5.40 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"
5.41 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"
5.42 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"
5.42 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"
5.43 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"
5.44 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"
5.45 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"
5.45 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"
5.46 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"
5.47 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"
5.47 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"
5.48 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"
5.49 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"
5.49 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"
5.50 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"
5.51 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"
5.52 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"
5.58 s[grosiree-e2e] npmwarnUnknown env config "nodedir". This will stop working in the next major version of npm.
5.58 s[grosiree-e2e] npmwarnUnknown env config "platform". This will stop working in the next major version of npm.
5.58 s[grosiree-e2e] npmwarnUnknown env config "arch". This will stop working in the next major version of npm.
7.54 s[grosiree-e2e] Running 4 tests using 1 worker
7.96 s[grosiree-e2e] Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
8.04 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token 2mK5Ca141ZatTJwFjLJGZ3CKUFcE3z
8.04 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
8.05 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
8.05 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
8.05 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
8.05 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
8.05 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
8.05 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
8.05 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
8.06 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
8.06 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
8.06 s[grosiree-e2e] [WebServer] 2026/06/30 00:20: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
8.06 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
8.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
8.17 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
8.18 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
8.18 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
8.18 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
8.18 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
8.18 s[grosiree-e2e] [WebServer] 2026/06/30 00:20: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
8.18 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
8.18 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
8.18 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
8.18 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
8.18 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
8.20 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
8.20 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
8.22 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943
8.22 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries/clear 200 87
8.23 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22432
8.23 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
8.23 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
8.23 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
8.23 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
8.23 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
8.23 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
8.23 s[grosiree-e2e] [WebServer] 2026/06/30 00:20: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
8.23 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
8.24 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
8.24 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
8.26 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36
8.26 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10
8.33 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943
8.34 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36
8.34 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472
8.34 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10
8.61 s[grosiree-e2e] ·[WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token A9yYzpRI4Ekp1C3GEgsCM7hjQkU8PE
8.61 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
8.61 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
8.61 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
8.62 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
8.62 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
8.62 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
8.62 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
8.62 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
8.62 s[grosiree-e2e] [WebServer] 2026/06/30 00:20: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
8.62 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
8.62 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
8.62 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
8.72 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
8.72 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22408
8.72 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
8.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
8.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
8.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
8.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
8.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20: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
8.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
8.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
8.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
8.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
8.75 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
8.75 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
8.76 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
8.76 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
8.76 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
8.76 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
8.76 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
8.77 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
8.77 s[grosiree-e2e] [WebServer] 2026/06/30 00:20: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
8.77 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
8.77 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
8.77 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
8.77 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
8.79 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
8.79 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
10.29 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 952
10.31 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472
10.31 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
10.31 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
10.57 s[grosiree-e2e] ·[WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token gJZwYaY0FFU05rMsUWL6kQCtAp7Vbp
10.57 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
10.58 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
10.58 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
10.58 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
10.58 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
10.58 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
10.58 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
10.58 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
10.59 s[grosiree-e2e] [WebServer] 2026/06/30 00:20: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
10.59 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
10.59 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
10.59 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
10.69 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
10.69 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
10.69 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
10.69 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
10.69 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
10.69 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
10.70 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
10.70 s[grosiree-e2e] [WebServer] 2026/06/30 00:20: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
10.70 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
10.70 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
10.70 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
10.70 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
10.72 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
10.72 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
10.72 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 960
10.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /grocery-items 200 8523
10.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
10.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
10.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
10.73 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
10.74 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
10.74 s[grosiree-e2e] [WebServer] 2026/06/30 00:20: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
10.74 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
10.74 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
10.74 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
10.74 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.24 s[grosiree-e2e] TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
16.31 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token ioPAyOWQPDHhLOmJxFrpFzF1QP8xfo
16.31 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
16.31 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 303 33
16.31 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
16.32 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.32 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.32 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.32 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.32 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.32 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.32 s[grosiree-e2e] [WebServer] 2026/06/30 00:20: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
16.32 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.32 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.32 s[grosiree-e2e] [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.63 s> Validating consistency between /build/source/package-lock.json and /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps/package-lock.json
16.63 s> Setting npm_config_cache to /nix/store/xg9n2cx43bwcgqzw3a1nj3wjf6f8x10c-grosiree-e2e-0.0.1-npm-deps
16.63 s> patching script interpreter paths in node_modules
16.63 s> node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
16.63 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"
16.63 s> node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh"
16.63 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"
16.63 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"
16.63 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"
16.63 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"
16.63 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"
16.63 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"
16.63 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"
16.63 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"
16.63 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"
16.63 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"
16.63 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"
16.63 s> node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
16.63 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"
16.63 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"
16.63 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"
16.63 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"
16.63 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"
16.63 s> npmwarnUnknown env config "nodedir". This will stop working in the next major version of npm.
16.63 s> npmwarnUnknown env config "platform". This will stop working in the next major version of npm.
16.63 s> npmwarnUnknown env config "arch". This will stop working in the next major version of npm.
16.63 s> Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token 2mK5Ca141ZatTJwFjLJGZ3CKUFcE3z
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.63 s> [WebServer] 2026/06/30 00:20: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
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.63 s> [WebServer] 2026/06/30 00:20: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
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries/clear 200 87
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22432
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.63 s> [WebServer] 2026/06/30 00:20: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
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 943
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 36
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 10
16.63 s> ·[WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token A9yYzpRI4Ekp1C3GEgsCM7hjQkU8PE
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.63 s> [WebServer] 2026/06/30 00:20: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
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22408
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.63 s> [WebServer] 2026/06/30 00:20: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
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.63 s> [WebServer] 2026/06/30 00:20: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
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
16.63 s> [WebServer] 2026/06/30 00:20:03 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 952
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/webfonts/fa-solid-900.woff2 200 150472
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
16.63 s> ·[WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token gJZwYaY0FFU05rMsUWL6kQCtAp7Vbp
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.63 s> [WebServer] 2026/06/30 00:20: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
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /login 303 0
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 200 22396
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.63 s> [WebServer] 2026/06/30 00:20: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
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/items 200 3
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /api/autocomplete/sections 200 3
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: POST /api/groceries 200 960
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /grocery-items 200 8523
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.63 s> [WebServer] 2026/06/30 00:20: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
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.63 s> [WebServer] 2026/06/30 00:20:05 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023
16.63 s> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/db_dev.go:81: provisioning a new private database with token ioPAyOWQPDHhLOmJxFrpFzF1QP8xfo
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/store/sqlite/sqlite.go:24: reading DB from :memory:
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET / 303 33
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /login 200 4498
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/fontawesome.min.css 200 80651
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/fontawesome@6.2.0/css/solid.min.css 200 572
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/css/style.css 200 574
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
16.63 s> [WebServer] 2026/06/30 00:20: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
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
16.63 s> [WebServer] 2026/06/30 00:20:11 codeberg.org/mtlynch/grosiree/handlers/middleware.go:13: GET /static/js/confirm-dialog.js 200 3023