build packages.x86_64-linux.e2e-tests

  1. 0.01 s $ /nix/store/wkkwxc04gdw6b263l1h29pjarjnjdyb6-coreutils-9.8/bin/timeout --kill-after=15s 1800s /nix/store/99b1z08awpxj8b6mzggn59gp1shljnff-nix-2.34.5/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes build --no-link git+https://codeberg.org/mtlynch/little-moments?ref=prefetch&rev=4677f66da05a0b53400fe46ae41c5f1bedc7de9d#packages.x86_64-linux.e2e-tests --print-build-logs
  2. 0.17 s error (ignored): SQLite database '/var/cache/private/nix-ci-worker/eval-cache-v6/fc1f4783f9e4bafcfdc5051e8eefcbcc55ac4556bcf9917cce1a2744d3b2f054.sqlite' is busy
  3. 4.83 s this derivation will be built:
  4. 4.83 s /nix/store/x758jd93qiaw54i0d18l2r36sv500727-little-moments-e2e-0.0.1.drv
  5. 4.95 s building '/nix/store/x758jd93qiaw54i0d18l2r36sv500727-little-moments-e2e-0.0.1.drv'...
  6. 4.99 s little-moments-e2e> Running phase: unpackPhase
  7. 5.00 s little-moments-e2e> unpacking source archive /nix/store/hdz8g96s4zssw3rwfzw7qgzy0fkzxnwf-source
  8. 5.01 s little-moments-e2e> source root is source
  9. 5.03 s little-moments-e2e> Running phase: patchPhase
  10. 5.03 s little-moments-e2e> Executing npmConfigHook
  11. 5.03 s little-moments-e2e> Configuring npm
  12. 5.03 s little-moments-e2e> Validating consistency between /build/source/package-lock.json and /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps/package-lock.json
  13. 5.05 s little-moments-e2e> Setting npm_config_cache to /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps
  14. 5.05 s little-moments-e2e> Installing dependencies
  15. 5.14 s little-moments-e2e> npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
  16. 5.14 s little-moments-e2e> npm warn Unknown env config "platform". This will stop working in the next major version of npm.
  17. 5.14 s little-moments-e2e> npm warn Unknown env config "arch". This will stop working in the next major version of npm.
  18. 5.95 s little-moments-e2e>
  19. 5.95 s little-moments-e2e> added 100 packages, and audited 101 packages in 838ms
  20. 5.95 s little-moments-e2e>
  21. 5.95 s little-moments-e2e> 25 packages are looking for funding
  22. 5.95 s little-moments-e2e> run `npm fund` for details
  23. 5.95 s little-moments-e2e>
  24. 5.95 s little-moments-e2e> found 0 vulnerabilities
  25. 6.01 s little-moments-e2e> patching script interpreter paths in node_modules
  26. 6.03 s little-moments-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"
  27. 6.05 s little-moments-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"
  28. 6.08 s little-moments-e2e> node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
  29. 6.10 s little-moments-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. 6.12 s little-moments-e2e> node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
  31. 6.14 s little-moments-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"
  32. 6.15 s little-moments-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"
  33. 6.16 s little-moments-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"
  34. 6.17 s little-moments-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"
  35. 6.19 s little-moments-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"
  36. 6.20 s little-moments-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"
  37. 6.21 s little-moments-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"
  38. 6.22 s little-moments-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"
  39. 6.24 s little-moments-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"
  40. 6.25 s little-moments-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"
  41. 6.27 s little-moments-e2e> node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh"
  42. 6.29 s little-moments-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"
  43. 6.30 s little-moments-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"
  44. 6.32 s little-moments-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"
  45. 6.33 s little-moments-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"
  46. 6.43 s little-moments-e2e> npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
  47. 6.43 s little-moments-e2e> npm warn Unknown env config "platform". This will stop working in the next major version of npm.
  48. 6.43 s little-moments-e2e> npm warn Unknown env config "arch". This will stop working in the next major version of npm.
  49. 6.71 s little-moments-e2e> rebuilt dependencies successfully
  50. 6.72 s little-moments-e2e> patching script interpreter paths in node_modules
  51. 6.83 s little-moments-e2e> Finished npmConfigHook
  52. 6.83 s little-moments-e2e> Running phase: updateAutotoolsGnuConfigScriptsPhase
  53. 6.85 s little-moments-e2e> Running phase: configurePhase
  54. 6.88 s little-moments-e2e> no configure script, doing nothing
  55. 6.89 s little-moments-e2e> Running phase: buildPhase
  56. 6.89 s little-moments-e2e> no Makefile or custom buildPhase, doing nothing
  57. 6.89 s little-moments-e2e> Running phase: checkPhase
  58. 6.99 s little-moments-e2e> npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
  59. 6.99 s little-moments-e2e> npm warn Unknown env config "platform". This will stop working in the next major version of npm.
  60. 6.99 s little-moments-e2e> npm warn Unknown env config "arch". This will stop working in the next major version of npm.
  61. 8.28 s little-moments-e2e> [WebServer] 2026/04/11 15:04:56 codeberg.org/mtlynch/little-moments/cmd/app/main.go:19: starting little-moments server
  62. 8.28 s little-moments-e2e> [WebServer] 2026/04/11 15:04:56 codeberg.org/mtlynch/little-moments/store/sqlite/sqlite.go:18: reading DB from testdata/store.db
  63. 9.52 s little-moments-e2e> [WebServer] 2026/04/11 15:04:57 codeberg.org/mtlynch/little-moments/handlers/csp.go:43: CSP media origin: ""
  64. 9.52 s little-moments-e2e> [WebServer] 2026/04/11 15:04:57 codeberg.org/mtlynch/little-moments/cmd/app/main.go:72: listening on http://localhost:6001
  65. 10.17 s little-moments-e2e> [WebServer] 2026/04/11 15:04:58 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: POST /api/debug/db/per-session 404 19
  66. 10.27 s little-moments-e2e>
  67. 10.27 s little-moments-e2e> Running 10 tests using 1 worker
  68. 11.39 s little-moments-e2e> Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  69. 11.52 s little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  70. 11.53 s little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  71. 11.53 s little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  72. 11.53 s little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  73. 11.53 s little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  74. 11.53 s little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  75. 11.53 s little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  76. 11.53 s little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  77. 11.53 s little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  78. 11.53 s little-moments-e2e> [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  79. 17.88 s little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  80. 17.98 s little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  81. 17.99 s little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  82. 17.99 s little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  83. 17.99 s little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  84. 17.99 s little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  85. 17.99 s little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  86. 17.99 s little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  87. 17.99 s little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  88. 17.99 s little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  89. 18.00 s little-moments-e2e> [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  90. 24.21 s little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  91. 24.30 s little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3292
  92. 24.31 s little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  93. 24.31 s little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  94. 24.31 s little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  95. 24.31 s little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  96. 24.31 s little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  97. 24.31 s little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  98. 24.31 s little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  99. 24.31 s little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  100. 24.31 s little-moments-e2e> [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  101. 30.61 s little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  102. 30.71 s little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  103. 30.71 s little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  104. 30.72 s little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  105. 30.72 s little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  106. 30.72 s little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  107. 30.72 s little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  108. 30.72 s little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  109. 30.72 s little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  110. 30.72 s little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  111. 30.72 s little-moments-e2e> [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  112. 36.84 s little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  113. 36.93 s little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  114. 36.93 s little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  115. 36.93 s little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  116. 36.93 s little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  117. 36.93 s little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  118. 36.94 s little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  119. 36.94 s little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  120. 36.94 s little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  121. 36.94 s little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  122. 36.94 s little-moments-e2e> [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  123. 43.02 s little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  124. 43.11 s little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  125. 43.11 s little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  126. 43.11 s little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  127. 43.11 s little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  128. 43.11 s little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  129. 43.11 s little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  130. 43.11 s little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  131. 43.11 s little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  132. 43.11 s little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  133. 43.11 s little-moments-e2e> [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  134. 49.31 s little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  135. 49.40 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  136. 49.40 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  137. 49.41 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  138. 49.41 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  139. 49.41 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  140. 49.41 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  141. 49.41 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  142. 49.41 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  143. 49.41 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  144. 49.41 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  145. 49.49 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3296
  146. 49.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  147. 49.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  148. 49.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  149. 49.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  150. 49.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  151. 49.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  152. 49.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  153. 49.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  154. 49.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  155. 55.40 s little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  156. 55.49 s little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  157. 55.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  158. 55.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  159. 55.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  160. 55.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  161. 55.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  162. 55.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  163. 55.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  164. 55.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  165. 55.50 s little-moments-e2e> [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  166. 61.56 s little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  167. 61.65 s little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3292
  168. 61.65 s little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  169. 61.65 s little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  170. 61.65 s little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  171. 61.65 s little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  172. 61.65 s little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  173. 61.65 s little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  174. 61.65 s little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  175. 61.65 s little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  176. 61.65 s little-moments-e2e> [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  177. 67.68 s little-moments-e2e> TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  178. 67.77 s little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  179. 67.78 s little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  180. 67.78 s little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  181. 67.78 s little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  182. 67.78 s little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  183. 67.78 s little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  184. 67.78 s little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  185. 67.78 s little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  186. 67.78 s little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  187. 67.78 s little-moments-e2e> [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  188. 73.00 s little-moments-e2e> T
  189. 73.01 s little-moments-e2e>
  190. 73.01 s little-moments-e2e> 1) [chromium] › e2e/browse.spec.ts:66:7 › Browse media › shows the imported media entries on the browse page
  191. 73.01 s little-moments-e2e>
  192. 73.01 s little-moments-e2e> Test timeout of 5000ms exceeded.
  193. 73.01 s little-moments-e2e>
  194. 73.01 s little-moments-e2e> Error: expect(locator).toHaveCount(expected) failed
  195. 73.01 s little-moments-e2e>
  196. 73.01 s little-moments-e2e> Locator: getByRole('main').getByRole('link')
  197. 73.01 s little-moments-e2e> Expected: 5
  198. 73.01 s little-moments-e2e> Received: 0
  199. 73.01 s little-moments-e2e>
  200. 73.01 s little-moments-e2e> Call log:
  201. 73.01 s little-moments-e2e> - Expect "toHaveCount" with timeout 5000ms
  202. 73.01 s little-moments-e2e> - waiting for getByRole('main').getByRole('link')
  203. 73.01 s little-moments-e2e> 9 × locator resolved to 0 elements
  204. 73.01 s little-moments-e2e> - unexpected value "0"
  205. 73.01 s little-moments-e2e>
  206. 73.01 s little-moments-e2e>
  207. 73.01 s little-moments-e2e> 69 | const mediaLinks = page.getByRole("main").getByRole("link");
  208. 73.01 s little-moments-e2e> 70 |
  209. 73.01 s little-moments-e2e> > 71 | await expect(mediaLinks).toHaveCount(5);
  210. 73.01 s little-moments-e2e> | ^
  211. 73.01 s little-moments-e2e> 72 | await expect(mediaLinks.nth(0)).toBeVisible();
  212. 73.01 s little-moments-e2e> 73 | await expect(mediaLinks.nth(1)).toBeVisible();
  213. 73.01 s little-moments-e2e> 74 | await expect(mediaLinks.nth(2)).toBeVisible();
  214. 73.01 s little-moments-e2e> at /build/source/e2e/browse.spec.ts:71:30
  215. 73.01 s little-moments-e2e>
  216. 73.01 s little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  217. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/video.webm
  218. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  219. 73.01 s little-moments-e2e>
  220. 73.01 s little-moments-e2e> Error Context: e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/error-context.md
  221. 73.01 s little-moments-e2e>
  222. 73.01 s little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  223. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
  224. 73.01 s little-moments-e2e> Usage:
  225. 73.01 s little-moments-e2e>
  226. 73.01 s little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
  227. 73.01 s little-moments-e2e>
  228. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  229. 73.01 s little-moments-e2e>
  230. 73.01 s little-moments-e2e> 2) [chromium] › e2e/browse.spec.ts:79:7 › Browse media › shows media thumbnails from newest to oldest
  231. 73.01 s little-moments-e2e>
  232. 73.01 s little-moments-e2e> Test timeout of 5000ms exceeded.
  233. 73.01 s little-moments-e2e>
  234. 73.01 s little-moments-e2e> Error: expect(locator).toHaveCount(expected) failed
  235. 73.01 s little-moments-e2e>
  236. 73.01 s little-moments-e2e> Locator: getByRole('main').getByRole('link')
  237. 73.01 s little-moments-e2e> Expected: 5
  238. 73.01 s little-moments-e2e> Received: 0
  239. 73.01 s little-moments-e2e>
  240. 73.01 s little-moments-e2e> Call log:
  241. 73.01 s little-moments-e2e> - Expect "toHaveCount" with timeout 5000ms
  242. 73.01 s little-moments-e2e> - waiting for getByRole('main').getByRole('link')
  243. 73.01 s little-moments-e2e> 9 × locator resolved to 0 elements
  244. 73.01 s little-moments-e2e> - unexpected value "0"
  245. 73.01 s little-moments-e2e>
  246. 73.01 s little-moments-e2e>
  247. 73.01 s little-moments-e2e> 80 | const mediaLinks = page.getByRole("main").getByRole("link");
  248. 73.01 s little-moments-e2e> 81 |
  249. 73.01 s little-moments-e2e> > 82 | await expect(mediaLinks).toHaveCount(5);
  250. 73.01 s little-moments-e2e> | ^
  251. 73.01 s little-moments-e2e> 83 | await expect(mediaLinks.nth(0)).toHaveAttribute("href", "/m/1000");
  252. 73.01 s little-moments-e2e> 84 | await expect(mediaLinks.nth(1)).toHaveAttribute("href", "/m/1001");
  253. 73.01 s little-moments-e2e> 85 | await expect(mediaLinks.nth(2)).toHaveAttribute("href", "/m/1002");
  254. 73.01 s little-moments-e2e> at /build/source/e2e/browse.spec.ts:82:30
  255. 73.01 s little-moments-e2e>
  256. 73.01 s little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  257. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/video.webm
  258. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  259. 73.01 s little-moments-e2e>
  260. 73.01 s little-moments-e2e> Error Context: e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/error-context.md
  261. 73.01 s little-moments-e2e>
  262. 73.01 s little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  263. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
  264. 73.01 s little-moments-e2e> Usage:
  265. 73.01 s little-moments-e2e>
  266. 73.01 s little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
  267. 73.01 s little-moments-e2e>
  268. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  269. 73.01 s little-moments-e2e>
  270. 73.01 s little-moments-e2e> 3) [chromium] › e2e/browse.spec.ts:90:7 › Browse media › shows a video indicator on video thumbnails only
  271. 73.01 s little-moments-e2e>
  272. 73.01 s little-moments-e2e> Test timeout of 5000ms exceeded.
  273. 73.01 s little-moments-e2e>
  274. 73.01 s little-moments-e2e> Error: expect(locator).toHaveCount(expected) failed
  275. 73.01 s little-moments-e2e>
  276. 73.01 s little-moments-e2e> Locator: getByRole('main').getByRole('link')
  277. 73.01 s little-moments-e2e> Expected: 5
  278. 73.01 s little-moments-e2e> Received: 0
  279. 73.01 s little-moments-e2e>
  280. 73.01 s little-moments-e2e> Call log:
  281. 73.01 s little-moments-e2e> - Expect "toHaveCount" with timeout 5000ms
  282. 73.01 s little-moments-e2e> - waiting for getByRole('main').getByRole('link')
  283. 73.01 s little-moments-e2e> 9 × locator resolved to 0 elements
  284. 73.01 s little-moments-e2e> - unexpected value "0"
  285. 73.01 s little-moments-e2e>
  286. 73.01 s little-moments-e2e>
  287. 73.01 s little-moments-e2e> 91 | const mediaLinks = page.getByRole("main").getByRole("link");
  288. 73.01 s little-moments-e2e> 92 |
  289. 73.01 s little-moments-e2e> > 93 | await expect(mediaLinks).toHaveCount(5);
  290. 73.01 s little-moments-e2e> | ^
  291. 73.01 s little-moments-e2e> 94 | await expect(
  292. 73.01 s little-moments-e2e> 95 | mediaLinks.nth(0).getByTestId("video-thumbnail-indicator"),
  293. 73.01 s little-moments-e2e> 96 | ).toHaveCount(0);
  294. 73.01 s little-moments-e2e> at /build/source/e2e/browse.spec.ts:93:30
  295. 73.01 s little-moments-e2e>
  296. 73.01 s little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  297. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/video.webm
  298. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  299. 73.01 s little-moments-e2e>
  300. 73.01 s little-moments-e2e> Error Context: e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/error-context.md
  301. 73.01 s little-moments-e2e>
  302. 73.01 s little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  303. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
  304. 73.01 s little-moments-e2e> Usage:
  305. 73.01 s little-moments-e2e>
  306. 73.01 s little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
  307. 73.01 s little-moments-e2e>
  308. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  309. 73.01 s little-moments-e2e>
  310. 73.01 s little-moments-e2e> 4) [chromium] › e2e/browse.spec.ts:111:7 › Browse media › opens the first entry from the browse page and shows its details
  311. 73.01 s little-moments-e2e>
  312. 73.01 s little-moments-e2e> Test timeout of 5000ms exceeded.
  313. 73.01 s little-moments-e2e>
  314. 73.01 s little-moments-e2e> Error: locator.click: Test timeout of 5000ms exceeded.
  315. 73.01 s little-moments-e2e> Call log:
  316. 73.01 s little-moments-e2e> - waiting for getByRole('main').getByRole('link').first()
  317. 73.01 s little-moments-e2e>
  318. 73.01 s little-moments-e2e>
  319. 73.01 s little-moments-e2e> 114 | const mediaLinks = page.getByRole("main").getByRole("link");
  320. 73.01 s little-moments-e2e> 115 |
  321. 73.01 s little-moments-e2e> > 116 | await mediaLinks.nth(0).click();
  322. 73.01 s little-moments-e2e> | ^
  323. 73.01 s little-moments-e2e> 117 |
  324. 73.01 s little-moments-e2e> 118 | const content = page.getByRole("main");
  325. 73.01 s little-moments-e2e> 119 |
  326. 73.01 s little-moments-e2e> at /build/source/e2e/browse.spec.ts:116:29
  327. 73.01 s little-moments-e2e>
  328. 73.01 s little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  329. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/video.webm
  330. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  331. 73.01 s little-moments-e2e>
  332. 73.01 s little-moments-e2e> Error Context: e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/error-context.md
  333. 73.01 s little-moments-e2e>
  334. 73.01 s little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  335. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
  336. 73.01 s little-moments-e2e> Usage:
  337. 73.01 s little-moments-e2e>
  338. 73.01 s little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
  339. 73.01 s little-moments-e2e>
  340. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  341. 73.01 s little-moments-e2e>
  342. 73.01 s little-moments-e2e> 5) [chromium] › e2e/browse.spec.ts:133:7 › Browse media › moves through adjacent entries with Previous and Next links
  343. 73.01 s little-moments-e2e>
  344. 73.01 s little-moments-e2e> Test timeout of 5000ms exceeded.
  345. 73.01 s little-moments-e2e>
  346. 73.01 s little-moments-e2e> Error: locator.click: Test timeout of 5000ms exceeded.
  347. 73.01 s little-moments-e2e> Call log:
  348. 73.01 s little-moments-e2e> - waiting for getByRole('main').getByRole('link').nth(1)
  349. 73.01 s little-moments-e2e>
  350. 73.01 s little-moments-e2e>
  351. 73.01 s little-moments-e2e> 136 | const mediaLinks = page.getByRole("main").getByRole("link");
  352. 73.01 s little-moments-e2e> 137 |
  353. 73.01 s little-moments-e2e> > 138 | await mediaLinks.nth(1).click();
  354. 73.01 s little-moments-e2e> | ^
  355. 73.01 s little-moments-e2e> 139 | await page.getByRole("main").getByRole("link", { name: "Next" }).click();
  356. 73.01 s little-moments-e2e> 140 |
  357. 73.01 s little-moments-e2e> 141 | const content = page.getByRole("main");
  358. 73.01 s little-moments-e2e> at /build/source/e2e/browse.spec.ts:138:29
  359. 73.01 s little-moments-e2e>
  360. 73.01 s little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  361. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/video.webm
  362. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  363. 73.01 s little-moments-e2e>
  364. 73.01 s little-moments-e2e> Error Context: e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/error-context.md
  365. 73.01 s little-moments-e2e>
  366. 73.01 s little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  367. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
  368. 73.01 s little-moments-e2e> Usage:
  369. 73.01 s little-moments-e2e>
  370. 73.01 s little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
  371. 73.01 s little-moments-e2e>
  372. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  373. 73.01 s little-moments-e2e>
  374. 73.01 s little-moments-e2e> 6) [chromium] › e2e/browse.spec.ts:164:7 › Browse media › moves through adjacent entries with left and right arrow keys
  375. 73.01 s little-moments-e2e>
  376. 73.01 s little-moments-e2e> Test timeout of 5000ms exceeded.
  377. 73.01 s little-moments-e2e>
  378. 73.01 s little-moments-e2e> Error: locator.click: Test timeout of 5000ms exceeded.
  379. 73.01 s little-moments-e2e> Call log:
  380. 73.01 s little-moments-e2e> - waiting for getByRole('main').getByRole('link').nth(2)
  381. 73.01 s little-moments-e2e>
  382. 73.01 s little-moments-e2e>
  383. 73.01 s little-moments-e2e> 167 | const mediaLinks = page.getByRole("main").getByRole("link");
  384. 73.01 s little-moments-e2e> 168 |
  385. 73.01 s little-moments-e2e> > 169 | await mediaLinks.nth(2).click();
  386. 73.01 s little-moments-e2e> | ^
  387. 73.01 s little-moments-e2e> 170 |
  388. 73.01 s little-moments-e2e> 171 | await expect(page).toHaveURL("/m/1002");
  389. 73.01 s little-moments-e2e> 172 | await expect(page.getByRole("main")).toContainText("test video #1");
  390. 73.01 s little-moments-e2e> at /build/source/e2e/browse.spec.ts:169:29
  391. 73.01 s little-moments-e2e>
  392. 73.01 s little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  393. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/video.webm
  394. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  395. 73.01 s little-moments-e2e>
  396. 73.01 s little-moments-e2e> Error Context: e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/error-context.md
  397. 73.01 s little-moments-e2e>
  398. 73.01 s little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  399. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
  400. 73.01 s little-moments-e2e> Usage:
  401. 73.01 s little-moments-e2e>
  402. 73.01 s little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
  403. 73.01 s little-moments-e2e>
  404. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  405. 73.01 s little-moments-e2e>
  406. 73.01 s little-moments-e2e> 7) [chromium] › e2e/browse.spec.ts:185:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
  407. 73.01 s little-moments-e2e>
  408. 73.01 s little-moments-e2e> Test timeout of 5000ms exceeded.
  409. 73.01 s little-moments-e2e>
  410. 73.01 s little-moments-e2e> Error: locator.click: Test ended.
  411. 73.01 s little-moments-e2e> Call log:
  412. 73.01 s little-moments-e2e> - waiting for getByRole('main').getByRole('link').nth(2)
  413. 73.01 s little-moments-e2e>
  414. 73.01 s little-moments-e2e>
  415. 73.01 s little-moments-e2e> 193 |
  416. 73.01 s little-moments-e2e> 194 | await mobilePage.goto("/");
  417. 73.01 s little-moments-e2e> > 195 | await mobilePage.getByRole("main").getByRole("link").nth(2).click();
  418. 73.01 s little-moments-e2e> | ^
  419. 73.01 s little-moments-e2e> 196 | await expect(mobilePage).toHaveURL("/m/1002");
  420. 73.01 s little-moments-e2e> 197 | await expect(mobilePage.getByRole("main")).toContainText("test video #1");
  421. 73.01 s little-moments-e2e> 198 |
  422. 73.01 s little-moments-e2e> at /build/source/e2e/browse.spec.ts:195:65
  423. 73.01 s little-moments-e2e>
  424. 73.01 s little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  425. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/video.webm
  426. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  427. 73.01 s little-moments-e2e>
  428. 73.01 s little-moments-e2e> Error Context: e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/error-context.md
  429. 73.01 s little-moments-e2e>
  430. 73.01 s little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  431. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
  432. 73.01 s little-moments-e2e> Usage:
  433. 73.01 s little-moments-e2e>
  434. 73.01 s little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
  435. 73.01 s little-moments-e2e>
  436. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  437. 73.01 s little-moments-e2e>
  438. 73.01 s little-moments-e2e> 8) [chromium] › e2e/browse.spec.ts:212:7 › Browse media › shows the current media position within the full list
  439. 73.01 s little-moments-e2e>
  440. 73.01 s little-moments-e2e> Test timeout of 5000ms exceeded.
  441. 73.01 s little-moments-e2e>
  442. 73.01 s little-moments-e2e> Error: locator.click: Test timeout of 5000ms exceeded.
  443. 73.01 s little-moments-e2e> Call log:
  444. 73.01 s little-moments-e2e> - waiting for getByRole('main').getByRole('link').first()
  445. 73.01 s little-moments-e2e>
  446. 73.01 s little-moments-e2e>
  447. 73.01 s little-moments-e2e> 215 | let mediaLinks = page.getByRole("main").getByRole("link");
  448. 73.01 s little-moments-e2e> 216 |
  449. 73.01 s little-moments-e2e> > 217 | await mediaLinks.nth(0).click();
  450. 73.01 s little-moments-e2e> | ^
  451. 73.01 s little-moments-e2e> 218 | await expect(page.getByRole("main")).toContainText("1 of 5");
  452. 73.01 s little-moments-e2e> 219 |
  453. 73.01 s little-moments-e2e> 220 | await page.getByRole("main").getByRole("link", { name: "Next" }).click();
  454. 73.01 s little-moments-e2e> at /build/source/e2e/browse.spec.ts:217:29
  455. 73.01 s little-moments-e2e>
  456. 73.01 s little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  457. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/video.webm
  458. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  459. 73.01 s little-moments-e2e>
  460. 73.01 s little-moments-e2e> Error Context: e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/error-context.md
  461. 73.01 s little-moments-e2e>
  462. 73.01 s little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  463. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
  464. 73.01 s little-moments-e2e> Usage:
  465. 73.01 s little-moments-e2e>
  466. 73.01 s little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
  467. 73.01 s little-moments-e2e>
  468. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  469. 73.01 s little-moments-e2e>
  470. 73.01 s little-moments-e2e> 9) [chromium] › e2e/browse.spec.ts:229:7 › Browse media › opens the last entry from the browse page and shows the oldest media
  471. 73.01 s little-moments-e2e>
  472. 73.01 s little-moments-e2e> Test timeout of 5000ms exceeded.
  473. 73.01 s little-moments-e2e>
  474. 73.01 s little-moments-e2e> Error: locator.click: Test timeout of 5000ms exceeded.
  475. 73.01 s little-moments-e2e> Call log:
  476. 73.01 s little-moments-e2e> - waiting for getByRole('main').getByRole('link').nth(4)
  477. 73.01 s little-moments-e2e>
  478. 73.01 s little-moments-e2e>
  479. 73.01 s little-moments-e2e> 232 | const mediaLinks = page.getByRole("main").getByRole("link");
  480. 73.01 s little-moments-e2e> 233 |
  481. 73.01 s little-moments-e2e> > 234 | await mediaLinks.nth(4).click();
  482. 73.01 s little-moments-e2e> | ^
  483. 73.01 s little-moments-e2e> 235 |
  484. 73.01 s little-moments-e2e> 236 | const content = page.getByRole("main");
  485. 73.01 s little-moments-e2e> 237 |
  486. 73.01 s little-moments-e2e> at /build/source/e2e/browse.spec.ts:234:29
  487. 73.01 s little-moments-e2e>
  488. 73.01 s little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  489. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/video.webm
  490. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  491. 73.01 s little-moments-e2e>
  492. 73.01 s little-moments-e2e> Error Context: e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/error-context.md
  493. 73.01 s little-moments-e2e>
  494. 73.01 s little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  495. 73.01 s little-moments-e2e> e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
  496. 73.01 s little-moments-e2e> Usage:
  497. 73.01 s little-moments-e2e>
  498. 73.01 s little-moments-e2e> npx playwright show-trace e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
  499. 73.01 s little-moments-e2e>
  500. 73.01 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  501. 73.01 s little-moments-e2e>
  502. 73.01 s little-moments-e2e> 10) [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
  503. 73.01 s little-moments-e2e>
  504. 73.01 s little-moments-e2e> Test timeout of 5000ms exceeded.
  505. 73.01 s little-moments-e2e>
  506. 73.01 s little-moments-e2e> Error: expect(locator).toHaveCount(expected) failed
  507. 73.01 s little-moments-e2e>
  508. 73.01 s little-moments-e2e> Locator: getByRole('main').getByRole('link')
  509. 73.01 s little-moments-e2e> Expected: 5
  510. 73.01 s little-moments-e2e> Received: 0
  511. 73.01 s little-moments-e2e>
  512. 73.01 s little-moments-e2e> Call log:
  513. 73.01 s little-moments-e2e> - Expect "toHaveCount" with timeout 5000ms
  514. 73.01 s little-moments-e2e> - waiting for getByRole('main').getByRole('link')
  515. 73.02 s little-moments-e2e> 9 × locator resolved to 0 elements
  516. 73.02 s little-moments-e2e> - unexpected value "0"
  517. 73.02 s little-moments-e2e>
  518. 73.02 s little-moments-e2e>
  519. 73.02 s little-moments-e2e> 9 | // Navigate to the entry that has a reaction (test photo #2).
  520. 73.02 s little-moments-e2e> 10 | const mediaLinks = page.getByRole("main").getByRole("link");
  521. 73.02 s little-moments-e2e> > 11 | await expect(mediaLinks).toHaveCount(5);
  522. 73.02 s little-moments-e2e> | ^
  523. 73.02 s little-moments-e2e> 12 | // Entry order is newest-first: animated photo, video #2, video #1, photo #2, photo #1.
  524. 73.02 s little-moments-e2e> 13 | await mediaLinks.nth(3).click();
  525. 73.02 s little-moments-e2e> 14 | await expect(page.getByRole("main")).toContainText("test photo #2");
  526. 73.02 s little-moments-e2e> at /build/source/e2e/media.spec.ts:11:30
  527. 73.02 s little-moments-e2e>
  528. 73.02 s little-moments-e2e> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  529. 73.02 s little-moments-e2e> e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/video.webm
  530. 73.02 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  531. 73.02 s little-moments-e2e>
  532. 73.02 s little-moments-e2e> Error Context: e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/error-context.md
  533. 73.02 s little-moments-e2e>
  534. 73.02 s little-moments-e2e> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  535. 73.02 s little-moments-e2e> e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
  536. 73.02 s little-moments-e2e> Usage:
  537. 73.02 s little-moments-e2e>
  538. 73.02 s little-moments-e2e> npx playwright show-trace e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
  539. 73.02 s little-moments-e2e>
  540. 73.02 s little-moments-e2e> ────────────────────────────────────────────────────────────────────────────────────────────────
  541. 73.02 s little-moments-e2e>
  542. 73.02 s little-moments-e2e> 10 failed
  543. 73.02 s little-moments-e2e> [chromium] › e2e/browse.spec.ts:66:7 › Browse media › shows the imported media entries on the browse page
  544. 73.02 s little-moments-e2e> [chromium] › e2e/browse.spec.ts:79:7 › Browse media › shows media thumbnails from newest to oldest
  545. 73.02 s little-moments-e2e> [chromium] › e2e/browse.spec.ts:90:7 › Browse media › shows a video indicator on video thumbnails only
  546. 73.02 s little-moments-e2e> [chromium] › e2e/browse.spec.ts:111:7 › Browse media › opens the first entry from the browse page and shows its details
  547. 73.02 s little-moments-e2e> [chromium] › e2e/browse.spec.ts:133:7 › Browse media › moves through adjacent entries with Previous and Next links
  548. 73.02 s little-moments-e2e> [chromium] › e2e/browse.spec.ts:164:7 › Browse media › moves through adjacent entries with left and right arrow keys
  549. 73.02 s little-moments-e2e> [chromium] › e2e/browse.spec.ts:185:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
  550. 73.02 s little-moments-e2e> [chromium] › e2e/browse.spec.ts:212:7 › Browse media › shows the current media position within the full list
  551. 73.02 s little-moments-e2e> [chromium] › e2e/browse.spec.ts:229:7 › Browse media › opens the last entry from the browse page and shows the oldest media
  552. 73.02 s little-moments-e2e> [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
  553. 73.17 s error: Cannot build '/nix/store/x758jd93qiaw54i0d18l2r36sv500727-little-moments-e2e-0.0.1.drv'.
  554. 73.17 s Reason: builder failed with exit code 1.
  555. 73.17 s Output paths:
  556. 73.17 s /nix/store/ls9clrv1zlxgk4qf9w22cy1yss5jxlrj-little-moments-e2e-0.0.1
  557. 73.17 s Last 547 log lines:
  558. 73.17 s > Running phase: unpackPhase
  559. 73.17 s > unpacking source archive /nix/store/hdz8g96s4zssw3rwfzw7qgzy0fkzxnwf-source
  560. 73.17 s > source root is source
  561. 73.17 s > Running phase: patchPhase
  562. 73.17 s > Executing npmConfigHook
  563. 73.17 s > Configuring npm
  564. 73.17 s > Validating consistency between /build/source/package-lock.json and /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps/package-lock.json
  565. 73.17 s > Setting npm_config_cache to /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps
  566. 73.17 s > Installing dependencies
  567. 73.17 s > npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
  568. 73.17 s > npm warn Unknown env config "platform". This will stop working in the next major version of npm.
  569. 73.17 s > npm warn Unknown env config "arch". This will stop working in the next major version of npm.
  570. 73.17 s >
  571. 73.17 s > added 100 packages, and audited 101 packages in 838ms
  572. 73.17 s >
  573. 73.17 s > 25 packages are looking for funding
  574. 73.17 s > run `npm fund` for details
  575. 73.17 s >
  576. 73.17 s > found 0 vulnerabilities
  577. 73.17 s > patching script interpreter paths in node_modules
  578. 73.17 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"
  579. 73.17 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"
  580. 73.17 s > node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
  581. 73.17 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"
  582. 73.17 s > node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
  583. 73.17 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"
  584. 73.17 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"
  585. 73.17 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"
  586. 73.17 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"
  587. 73.17 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"
  588. 73.17 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"
  589. 73.17 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"
  590. 73.17 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"
  591. 73.17 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"
  592. 73.17 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"
  593. 73.17 s > node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh"
  594. 73.17 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"
  595. 73.17 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"
  596. 73.17 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"
  597. 73.17 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"
  598. 73.17 s > npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
  599. 73.17 s > npm warn Unknown env config "platform". This will stop working in the next major version of npm.
  600. 73.17 s > npm warn Unknown env config "arch". This will stop working in the next major version of npm.
  601. 73.17 s > rebuilt dependencies successfully
  602. 73.17 s > patching script interpreter paths in node_modules
  603. 73.17 s > Finished npmConfigHook
  604. 73.17 s > Running phase: updateAutotoolsGnuConfigScriptsPhase
  605. 73.17 s > Running phase: configurePhase
  606. 73.17 s > no configure script, doing nothing
  607. 73.17 s > Running phase: buildPhase
  608. 73.17 s > no Makefile or custom buildPhase, doing nothing
  609. 73.17 s > Running phase: checkPhase
  610. 73.17 s > npm warn Unknown env config "nodedir". This will stop working in the next major version of npm.
  611. 73.17 s > npm warn Unknown env config "platform". This will stop working in the next major version of npm.
  612. 73.17 s > npm warn Unknown env config "arch". This will stop working in the next major version of npm.
  613. 73.17 s > [WebServer] 2026/04/11 15:04:56 codeberg.org/mtlynch/little-moments/cmd/app/main.go:19: starting little-moments server
  614. 73.17 s > [WebServer] 2026/04/11 15:04:56 codeberg.org/mtlynch/little-moments/store/sqlite/sqlite.go:18: reading DB from testdata/store.db
  615. 73.17 s > [WebServer] 2026/04/11 15:04:57 codeberg.org/mtlynch/little-moments/handlers/csp.go:43: CSP media origin: ""
  616. 73.17 s > [WebServer] 2026/04/11 15:04:57 codeberg.org/mtlynch/little-moments/cmd/app/main.go:72: listening on http://localhost:6001
  617. 73.17 s > [WebServer] 2026/04/11 15:04:58 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: POST /api/debug/db/per-session 404 19
  618. 73.17 s >
  619. 73.17 s > Running 10 tests using 1 worker
  620. 73.17 s > Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  621. 73.17 s > [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  622. 73.17 s > [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  623. 73.17 s > [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  624. 73.17 s > [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  625. 73.17 s > [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  626. 73.17 s > [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  627. 73.17 s > [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  628. 73.17 s > [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  629. 73.17 s > [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  630. 73.17 s > [WebServer] 2026/04/11 15:04:59 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  631. 73.17 s > TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  632. 73.17 s > [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  633. 73.17 s > [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  634. 73.17 s > [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  635. 73.17 s > [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  636. 73.17 s > [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  637. 73.17 s > [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  638. 73.17 s > [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  639. 73.17 s > [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  640. 73.17 s > [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  641. 73.17 s > [WebServer] 2026/04/11 15:05:06 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  642. 73.17 s > TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  643. 73.17 s > [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3292
  644. 73.17 s > [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  645. 73.17 s > [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  646. 73.17 s > [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  647. 73.17 s > [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  648. 73.17 s > [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  649. 73.17 s > [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  650. 73.17 s > [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  651. 73.17 s > [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  652. 73.17 s > [WebServer] 2026/04/11 15:05:12 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  653. 73.17 s > TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  654. 73.17 s > [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  655. 73.17 s > [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  656. 73.17 s > [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  657. 73.17 s > [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  658. 73.17 s > [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  659. 73.17 s > [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  660. 73.17 s > [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  661. 73.17 s > [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  662. 73.17 s > [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  663. 73.17 s > [WebServer] 2026/04/11 15:05:19 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  664. 73.17 s > TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  665. 73.17 s > [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  666. 73.17 s > [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  667. 73.17 s > [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  668. 73.17 s > [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  669. 73.17 s > [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  670. 73.17 s > [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  671. 73.17 s > [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  672. 73.17 s > [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  673. 73.17 s > [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  674. 73.17 s > [WebServer] 2026/04/11 15:05:25 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  675. 73.17 s > TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  676. 73.17 s > [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  677. 73.17 s > [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  678. 73.17 s > [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  679. 73.17 s > [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  680. 73.17 s > [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  681. 73.17 s > [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  682. 73.17 s > [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  683. 73.17 s > [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  684. 73.17 s > [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  685. 73.17 s > [WebServer] 2026/04/11 15:05:31 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  686. 73.17 s > TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  687. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  688. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  689. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  690. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  691. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  692. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  693. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  694. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  695. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  696. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  697. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3296
  698. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  699. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  700. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  701. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  702. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  703. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  704. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  705. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  706. 73.17 s > [WebServer] 2026/04/11 15:05:37 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  707. 73.17 s > TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  708. 73.17 s > [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  709. 73.17 s > [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  710. 73.17 s > [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  711. 73.17 s > [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  712. 73.17 s > [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  713. 73.17 s > [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  714. 73.17 s > [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  715. 73.17 s > [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  716. 73.17 s > [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  717. 73.17 s > [WebServer] 2026/04/11 15:05:43 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  718. 73.17 s > TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  719. 73.17 s > [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3292
  720. 73.17 s > [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  721. 73.17 s > [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  722. 73.17 s > [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  723. 73.17 s > [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  724. 73.17 s > [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  725. 73.17 s > [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  726. 73.17 s > [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  727. 73.17 s > [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  728. 73.17 s > [WebServer] 2026/04/11 15:05:50 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  729. 73.17 s > TSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
  730. 73.17 s > [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET / 200 3288
  731. 73.17 s > [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/css/bootstrap.min.css 200 194901
  732. 73.17 s > [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/css/style.css 200 25
  733. 73.17 s > [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx@2.0.4/htmx.min.js 200 50917
  734. 73.17 s > [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/bootstrap@5.2.2/js/bootstrap.bundle.min.js 200 80496
  735. 73.17 s > [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/htmx-ext-response-targets@2.0.0/response-targets.js 200 3722
  736. 73.17 s > [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-ext/clear-before-send.js 200 775
  737. 73.17 s > [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/third-party/lucide@1.6.0/lucide.min.js 200 397128
  738. 73.17 s > [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/lucide.js 200 478
  739. 73.17 s > [WebServer] 2026/04/11 15:05:56 codeberg.org/mtlynch/little-moments/handlers/middleware.go:13: GET /static/js/htmx-settings.js 200 813
  740. 73.17 s > T
  741. 73.17 s >
  742. 73.17 s > 1) [chromium] › e2e/browse.spec.ts:66:7 › Browse media › shows the imported media entries on the browse page
  743. 73.17 s >
  744. 73.17 s > Test timeout of 5000ms exceeded.
  745. 73.17 s >
  746. 73.17 s > Error: expect(locator).toHaveCount(expected) failed
  747. 73.17 s >
  748. 73.17 s > Locator: getByRole('main').getByRole('link')
  749. 73.17 s > Expected: 5
  750. 73.17 s > Received: 0
  751. 73.17 s >
  752. 73.17 s > Call log:
  753. 73.17 s > - Expect "toHaveCount" with timeout 5000ms
  754. 73.17 s > - waiting for getByRole('main').getByRole('link')
  755. 73.17 s > 9 × locator resolved to 0 elements
  756. 73.17 s > - unexpected value "0"
  757. 73.17 s >
  758. 73.17 s >
  759. 73.17 s > 69 | const mediaLinks = page.getByRole("main").getByRole("link");
  760. 73.17 s > 70 |
  761. 73.17 s > > 71 | await expect(mediaLinks).toHaveCount(5);
  762. 73.17 s > | ^
  763. 73.17 s > 72 | await expect(mediaLinks.nth(0)).toBeVisible();
  764. 73.17 s > 73 | await expect(mediaLinks.nth(1)).toBeVisible();
  765. 73.17 s > 74 | await expect(mediaLinks.nth(2)).toBeVisible();
  766. 73.17 s > at /build/source/e2e/browse.spec.ts:71:30
  767. 73.17 s >
  768. 73.17 s > attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  769. 73.17 s > e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/video.webm
  770. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  771. 73.17 s >
  772. 73.17 s > Error Context: e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/error-context.md
  773. 73.17 s >
  774. 73.17 s > attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  775. 73.17 s > e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
  776. 73.17 s > Usage:
  777. 73.17 s >
  778. 73.17 s > npx playwright show-trace e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
  779. 73.17 s >
  780. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  781. 73.17 s >
  782. 73.17 s > 2) [chromium] › e2e/browse.spec.ts:79:7 › Browse media › shows media thumbnails from newest to oldest
  783. 73.17 s >
  784. 73.17 s > Test timeout of 5000ms exceeded.
  785. 73.17 s >
  786. 73.17 s > Error: expect(locator).toHaveCount(expected) failed
  787. 73.17 s >
  788. 73.17 s > Locator: getByRole('main').getByRole('link')
  789. 73.17 s > Expected: 5
  790. 73.17 s > Received: 0
  791. 73.17 s >
  792. 73.17 s > Call log:
  793. 73.17 s > - Expect "toHaveCount" with timeout 5000ms
  794. 73.17 s > - waiting for getByRole('main').getByRole('link')
  795. 73.17 s > 9 × locator resolved to 0 elements
  796. 73.17 s > - unexpected value "0"
  797. 73.17 s >
  798. 73.17 s >
  799. 73.17 s > 80 | const mediaLinks = page.getByRole("main").getByRole("link");
  800. 73.17 s > 81 |
  801. 73.17 s > > 82 | await expect(mediaLinks).toHaveCount(5);
  802. 73.17 s > | ^
  803. 73.17 s > 83 | await expect(mediaLinks.nth(0)).toHaveAttribute("href", "/m/1000");
  804. 73.17 s > 84 | await expect(mediaLinks.nth(1)).toHaveAttribute("href", "/m/1001");
  805. 73.17 s > 85 | await expect(mediaLinks.nth(2)).toHaveAttribute("href", "/m/1002");
  806. 73.17 s > at /build/source/e2e/browse.spec.ts:82:30
  807. 73.17 s >
  808. 73.17 s > attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  809. 73.17 s > e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/video.webm
  810. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  811. 73.17 s >
  812. 73.17 s > Error Context: e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/error-context.md
  813. 73.17 s >
  814. 73.17 s > attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  815. 73.17 s > e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
  816. 73.17 s > Usage:
  817. 73.17 s >
  818. 73.17 s > npx playwright show-trace e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
  819. 73.17 s >
  820. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  821. 73.17 s >
  822. 73.17 s > 3) [chromium] › e2e/browse.spec.ts:90:7 › Browse media › shows a video indicator on video thumbnails only
  823. 73.17 s >
  824. 73.17 s > Test timeout of 5000ms exceeded.
  825. 73.17 s >
  826. 73.17 s > Error: expect(locator).toHaveCount(expected) failed
  827. 73.17 s >
  828. 73.17 s > Locator: getByRole('main').getByRole('link')
  829. 73.17 s > Expected: 5
  830. 73.17 s > Received: 0
  831. 73.17 s >
  832. 73.17 s > Call log:
  833. 73.17 s > - Expect "toHaveCount" with timeout 5000ms
  834. 73.17 s > - waiting for getByRole('main').getByRole('link')
  835. 73.17 s > 9 × locator resolved to 0 elements
  836. 73.17 s > - unexpected value "0"
  837. 73.17 s >
  838. 73.17 s >
  839. 73.17 s > 91 | const mediaLinks = page.getByRole("main").getByRole("link");
  840. 73.17 s > 92 |
  841. 73.17 s > > 93 | await expect(mediaLinks).toHaveCount(5);
  842. 73.17 s > | ^
  843. 73.17 s > 94 | await expect(
  844. 73.17 s > 95 | mediaLinks.nth(0).getByTestId("video-thumbnail-indicator"),
  845. 73.17 s > 96 | ).toHaveCount(0);
  846. 73.17 s > at /build/source/e2e/browse.spec.ts:93:30
  847. 73.17 s >
  848. 73.17 s > attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  849. 73.17 s > e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/video.webm
  850. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  851. 73.17 s >
  852. 73.17 s > Error Context: e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/error-context.md
  853. 73.17 s >
  854. 73.17 s > attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  855. 73.17 s > e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
  856. 73.17 s > Usage:
  857. 73.17 s >
  858. 73.17 s > npx playwright show-trace e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
  859. 73.17 s >
  860. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  861. 73.17 s >
  862. 73.17 s > 4) [chromium] › e2e/browse.spec.ts:111:7 › Browse media › opens the first entry from the browse page and shows its details
  863. 73.17 s >
  864. 73.17 s > Test timeout of 5000ms exceeded.
  865. 73.17 s >
  866. 73.17 s > Error: locator.click: Test timeout of 5000ms exceeded.
  867. 73.17 s > Call log:
  868. 73.17 s > - waiting for getByRole('main').getByRole('link').first()
  869. 73.17 s >
  870. 73.17 s >
  871. 73.17 s > 114 | const mediaLinks = page.getByRole("main").getByRole("link");
  872. 73.17 s > 115 |
  873. 73.17 s > > 116 | await mediaLinks.nth(0).click();
  874. 73.17 s > | ^
  875. 73.17 s > 117 |
  876. 73.17 s > 118 | const content = page.getByRole("main");
  877. 73.17 s > 119 |
  878. 73.17 s > at /build/source/e2e/browse.spec.ts:116:29
  879. 73.17 s >
  880. 73.17 s > attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  881. 73.17 s > e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/video.webm
  882. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  883. 73.17 s >
  884. 73.17 s > Error Context: e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/error-context.md
  885. 73.17 s >
  886. 73.17 s > attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  887. 73.17 s > e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
  888. 73.17 s > Usage:
  889. 73.17 s >
  890. 73.17 s > npx playwright show-trace e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
  891. 73.17 s >
  892. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  893. 73.17 s >
  894. 73.17 s > 5) [chromium] › e2e/browse.spec.ts:133:7 › Browse media › moves through adjacent entries with Previous and Next links
  895. 73.17 s >
  896. 73.17 s > Test timeout of 5000ms exceeded.
  897. 73.17 s >
  898. 73.17 s > Error: locator.click: Test timeout of 5000ms exceeded.
  899. 73.17 s > Call log:
  900. 73.17 s > - waiting for getByRole('main').getByRole('link').nth(1)
  901. 73.17 s >
  902. 73.17 s >
  903. 73.17 s > 136 | const mediaLinks = page.getByRole("main").getByRole("link");
  904. 73.17 s > 137 |
  905. 73.17 s > > 138 | await mediaLinks.nth(1).click();
  906. 73.17 s > | ^
  907. 73.17 s > 139 | await page.getByRole("main").getByRole("link", { name: "Next" }).click();
  908. 73.17 s > 140 |
  909. 73.17 s > 141 | const content = page.getByRole("main");
  910. 73.17 s > at /build/source/e2e/browse.spec.ts:138:29
  911. 73.17 s >
  912. 73.17 s > attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  913. 73.17 s > e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/video.webm
  914. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  915. 73.17 s >
  916. 73.17 s > Error Context: e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/error-context.md
  917. 73.17 s >
  918. 73.17 s > attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  919. 73.17 s > e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
  920. 73.17 s > Usage:
  921. 73.17 s >
  922. 73.17 s > npx playwright show-trace e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
  923. 73.17 s >
  924. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  925. 73.17 s >
  926. 73.17 s > 6) [chromium] › e2e/browse.spec.ts:164:7 › Browse media › moves through adjacent entries with left and right arrow keys
  927. 73.17 s >
  928. 73.17 s > Test timeout of 5000ms exceeded.
  929. 73.17 s >
  930. 73.17 s > Error: locator.click: Test timeout of 5000ms exceeded.
  931. 73.17 s > Call log:
  932. 73.17 s > - waiting for getByRole('main').getByRole('link').nth(2)
  933. 73.17 s >
  934. 73.17 s >
  935. 73.17 s > 167 | const mediaLinks = page.getByRole("main").getByRole("link");
  936. 73.17 s > 168 |
  937. 73.17 s > > 169 | await mediaLinks.nth(2).click();
  938. 73.17 s > | ^
  939. 73.17 s > 170 |
  940. 73.17 s > 171 | await expect(page).toHaveURL("/m/1002");
  941. 73.17 s > 172 | await expect(page.getByRole("main")).toContainText("test video #1");
  942. 73.17 s > at /build/source/e2e/browse.spec.ts:169:29
  943. 73.17 s >
  944. 73.17 s > attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  945. 73.17 s > e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/video.webm
  946. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  947. 73.17 s >
  948. 73.17 s > Error Context: e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/error-context.md
  949. 73.17 s >
  950. 73.17 s > attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  951. 73.17 s > e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
  952. 73.17 s > Usage:
  953. 73.17 s >
  954. 73.17 s > npx playwright show-trace e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
  955. 73.17 s >
  956. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  957. 73.17 s >
  958. 73.17 s > 7) [chromium] › e2e/browse.spec.ts:185:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
  959. 73.17 s >
  960. 73.17 s > Test timeout of 5000ms exceeded.
  961. 73.17 s >
  962. 73.17 s > Error: locator.click: Test ended.
  963. 73.17 s > Call log:
  964. 73.17 s > - waiting for getByRole('main').getByRole('link').nth(2)
  965. 73.17 s >
  966. 73.17 s >
  967. 73.17 s > 193 |
  968. 73.17 s > 194 | await mobilePage.goto("/");
  969. 73.17 s > > 195 | await mobilePage.getByRole("main").getByRole("link").nth(2).click();
  970. 73.17 s > | ^
  971. 73.17 s > 196 | await expect(mobilePage).toHaveURL("/m/1002");
  972. 73.17 s > 197 | await expect(mobilePage.getByRole("main")).toContainText("test video #1");
  973. 73.17 s > 198 |
  974. 73.17 s > at /build/source/e2e/browse.spec.ts:195:65
  975. 73.17 s >
  976. 73.17 s > attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  977. 73.17 s > e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/video.webm
  978. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  979. 73.17 s >
  980. 73.17 s > Error Context: e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/error-context.md
  981. 73.17 s >
  982. 73.17 s > attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  983. 73.17 s > e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
  984. 73.17 s > Usage:
  985. 73.17 s >
  986. 73.17 s > npx playwright show-trace e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
  987. 73.17 s >
  988. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  989. 73.17 s >
  990. 73.17 s > 8) [chromium] › e2e/browse.spec.ts:212:7 › Browse media › shows the current media position within the full list
  991. 73.17 s >
  992. 73.17 s > Test timeout of 5000ms exceeded.
  993. 73.17 s >
  994. 73.17 s > Error: locator.click: Test timeout of 5000ms exceeded.
  995. 73.17 s > Call log:
  996. 73.17 s > - waiting for getByRole('main').getByRole('link').first()
  997. 73.17 s >
  998. 73.17 s >
  999. 73.17 s > 215 | let mediaLinks = page.getByRole("main").getByRole("link");
  1000. 73.17 s > 216 |
  1001. 73.17 s > > 217 | await mediaLinks.nth(0).click();
  1002. 73.17 s > | ^
  1003. 73.17 s > 218 | await expect(page.getByRole("main")).toContainText("1 of 5");
  1004. 73.17 s > 219 |
  1005. 73.17 s > 220 | await page.getByRole("main").getByRole("link", { name: "Next" }).click();
  1006. 73.17 s > at /build/source/e2e/browse.spec.ts:217:29
  1007. 73.17 s >
  1008. 73.17 s > attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  1009. 73.17 s > e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/video.webm
  1010. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  1011. 73.17 s >
  1012. 73.17 s > Error Context: e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/error-context.md
  1013. 73.17 s >
  1014. 73.17 s > attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  1015. 73.17 s > e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
  1016. 73.17 s > Usage:
  1017. 73.17 s >
  1018. 73.17 s > npx playwright show-trace e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
  1019. 73.17 s >
  1020. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  1021. 73.17 s >
  1022. 73.17 s > 9) [chromium] › e2e/browse.spec.ts:229:7 › Browse media › opens the last entry from the browse page and shows the oldest media
  1023. 73.17 s >
  1024. 73.17 s > Test timeout of 5000ms exceeded.
  1025. 73.17 s >
  1026. 73.17 s > Error: locator.click: Test timeout of 5000ms exceeded.
  1027. 73.17 s > Call log:
  1028. 73.17 s > - waiting for getByRole('main').getByRole('link').nth(4)
  1029. 73.17 s >
  1030. 73.17 s >
  1031. 73.17 s > 232 | const mediaLinks = page.getByRole("main").getByRole("link");
  1032. 73.17 s > 233 |
  1033. 73.17 s > > 234 | await mediaLinks.nth(4).click();
  1034. 73.17 s > | ^
  1035. 73.17 s > 235 |
  1036. 73.17 s > 236 | const content = page.getByRole("main");
  1037. 73.17 s > 237 |
  1038. 73.17 s > at /build/source/e2e/browse.spec.ts:234:29
  1039. 73.17 s >
  1040. 73.17 s > attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  1041. 73.17 s > e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/video.webm
  1042. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  1043. 73.17 s >
  1044. 73.17 s > Error Context: e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/error-context.md
  1045. 73.17 s >
  1046. 73.17 s > attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  1047. 73.17 s > e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
  1048. 73.17 s > Usage:
  1049. 73.17 s >
  1050. 73.17 s > npx playwright show-trace e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
  1051. 73.17 s >
  1052. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  1053. 73.17 s >
  1054. 73.17 s > 10) [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
  1055. 73.17 s >
  1056. 73.17 s > Test timeout of 5000ms exceeded.
  1057. 73.17 s >
  1058. 73.17 s > Error: expect(locator).toHaveCount(expected) failed
  1059. 73.17 s >
  1060. 73.17 s > Locator: getByRole('main').getByRole('link')
  1061. 73.17 s > Expected: 5
  1062. 73.17 s > Received: 0
  1063. 73.17 s >
  1064. 73.17 s > Call log:
  1065. 73.17 s > - Expect "toHaveCount" with timeout 5000ms
  1066. 73.17 s > - waiting for getByRole('main').getByRole('link')
  1067. 73.17 s > 9 × locator resolved to 0 elements
  1068. 73.17 s > - unexpected value "0"
  1069. 73.17 s >
  1070. 73.17 s >
  1071. 73.17 s > 9 | // Navigate to the entry that has a reaction (test photo #2).
  1072. 73.17 s > 10 | const mediaLinks = page.getByRole("main").getByRole("link");
  1073. 73.17 s > > 11 | await expect(mediaLinks).toHaveCount(5);
  1074. 73.17 s > | ^
  1075. 73.17 s > 12 | // Entry order is newest-first: animated photo, video #2, video #1, photo #2, photo #1.
  1076. 73.17 s > 13 | await mediaLinks.nth(3).click();
  1077. 73.17 s > 14 | await expect(page.getByRole("main")).toContainText("test photo #2");
  1078. 73.17 s > at /build/source/e2e/media.spec.ts:11:30
  1079. 73.17 s >
  1080. 73.17 s > attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
  1081. 73.17 s > e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/video.webm
  1082. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  1083. 73.17 s >
  1084. 73.17 s > Error Context: e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/error-context.md
  1085. 73.17 s >
  1086. 73.17 s > attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
  1087. 73.17 s > e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
  1088. 73.17 s > Usage:
  1089. 73.17 s >
  1090. 73.17 s > npx playwright show-trace e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
  1091. 73.17 s >
  1092. 73.17 s > ────────────────────────────────────────────────────────────────────────────────────────────────
  1093. 73.17 s >
  1094. 73.17 s > 10 failed
  1095. 73.17 s > [chromium] › e2e/browse.spec.ts:66:7 › Browse media › shows the imported media entries on the browse page
  1096. 73.17 s > [chromium] › e2e/browse.spec.ts:79:7 › Browse media › shows media thumbnails from newest to oldest
  1097. 73.17 s > [chromium] › e2e/browse.spec.ts:90:7 › Browse media › shows a video indicator on video thumbnails only
  1098. 73.17 s > [chromium] › e2e/browse.spec.ts:111:7 › Browse media › opens the first entry from the browse page and shows its details
  1099. 73.17 s > [chromium] › e2e/browse.spec.ts:133:7 › Browse media › moves through adjacent entries with Previous and Next links
  1100. 73.17 s > [chromium] › e2e/browse.spec.ts:164:7 › Browse media › moves through adjacent entries with left and right arrow keys
  1101. 73.17 s > [chromium] › e2e/browse.spec.ts:185:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
  1102. 73.17 s > [chromium] › e2e/browse.spec.ts:212:7 › Browse media › shows the current media position within the full list
  1103. 73.17 s > [chromium] › e2e/browse.spec.ts:229:7 › Browse media › opens the last entry from the browse page and shows the oldest media
  1104. 73.17 s > [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
  1105. 73.17 s For full logs, run:
  1106. 73.17 s nix log /nix/store/x758jd93qiaw54i0d18l2r36sv500727-little-moments-e2e-0.0.1.drv