$ /nix/store/vzx1mi9c0xfadmsm9dhd83d005cb1qs9-coreutils-9.8/bin/timeout --kill-after=15s 7200s /nix/store/86n4l5yri6hys3zk2mwy2azcv9prqb8j-nix-2.31.4/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link git+https://codeberg.org/mtlynch/little-moments?ref=mock-not-fake&rev=fb5bdc11062474af6a1ebfd15a696ac4afaa44da#packages.x86_64-linux.e2e-tests --print-build-logs[m
[2m[m
[1;34mBuilding little-moments-e2e[m
[2m[little-moments-e2e] [m[1;36mPhase: unpackPhase[m
[2m[little-moments-e2e] [munpacking source archive /nix/store/blqmilnyqc700h8n00di5kfmagwzbz6y-source
[2m[little-moments-e2e] [msource root is source
[2m[little-moments-e2e] [m[1;36mPhase: patchPhase[m
[2m[little-moments-e2e] [mExecuting npmConfigHook
[2m[little-moments-e2e] [mConfiguring npm
[2m[little-moments-e2e] [mValidating consistency between /build/source/package-lock.json and /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps/package-lock.json
[2m[little-moments-e2e] [mSetting npm_config_cache to /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps
[2m[little-moments-e2e] [mInstalling dependencies
[2m[little-moments-e2e] [m[1mnpm[22m [33mwarn[39m [94mUnknown env config "nodedir". This will stop working in the next major version of npm.[39m
[2m[little-moments-e2e] [m[1mnpm[22m [33mwarn[39m [94mUnknown env config "platform". This will stop working in the next major version of npm.[39m
[2m[little-moments-e2e] [m[1mnpm[22m [33mwarn[39m [94mUnknown env config "arch". This will stop working in the next major version of npm.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [madded 100 packages, and audited 101 packages in 3s
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m25 packages are looking for funding
[2m[little-moments-e2e] [m run `npm fund` for details
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [mfound [32m[1m0[22m[39m vulnerabilities
[2m[little-moments-e2e] [mpatching script interpreter paths in node_modules
[2m[little-moments-e2e] [mnode_modules/prettier/bin/prettier.cjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_modules/eslint/bin/eslint.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
[2m[little-moments-e2e] [mnode_modules/which/bin/node-which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
[2m[little-moments-e2e] [mnode_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
[2m[little-moments-e2e] [mnode_modules/ulid/bin/cli.js: interpreter directive changed from "#! /usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_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"
[2m[little-moments-e2e] [mnode_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh"
[2m[little-moments-e2e] [mnode_modules/playwright-core/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
[2m[little-moments-e2e] [mnode_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
[2m[little-moments-e2e] [mnode_modules/@playwright/test/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
[2m[little-moments-e2e] [m[1mnpm[22m [33mwarn[39m [94mUnknown env config "nodedir". This will stop working in the next major version of npm.[39m
[2m[little-moments-e2e] [m[1mnpm[22m [33mwarn[39m [94mUnknown env config "platform". This will stop working in the next major version of npm.[39m
[2m[little-moments-e2e] [m[1mnpm[22m [33mwarn[39m [94mUnknown env config "arch". This will stop working in the next major version of npm.[39m
[2m[little-moments-e2e] [mrebuilt dependencies successfully
[2m[little-moments-e2e] [mpatching script interpreter paths in node_modules
[2m[little-moments-e2e] [mFinished npmConfigHook
[2m[little-moments-e2e] [m[1;36mPhase: updateAutotoolsGnuConfigScriptsPhase[m
[2m[little-moments-e2e] [m[1;36mPhase: configurePhase[m
[2m[little-moments-e2e] [mno configure script, doing nothing
[2m[little-moments-e2e] [m[1;36mPhase: buildPhase[m
[2m[little-moments-e2e] [mno Makefile or custom buildPhase, doing nothing
[2m[little-moments-e2e] [m[1;36mPhase: checkPhase[m
[2m[little-moments-e2e] [m2026/06/01 12:06:57 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 0955fcad-a0a0-4c0b-815a-4a117e21b59d-full.avif
[2m[little-moments-e2e] [m2026/06/01 12:06:57 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:121: copied 0955fcad-a0a0-4c0b-815a-4a117e21b59d-250px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:57 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:121: copied 0955fcad-a0a0-4c0b-815a-4a117e21b59d-150px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:57 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 55339746-8846-4120-847e-f44769ee85f4-full.mp4
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:128: copied 55339746-8846-4120-847e-f44769ee85f4-thumb-250px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:128: copied 55339746-8846-4120-847e-f44769ee85f4-thumb-150px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied ddf83dd9-3ef3-4771-b2d8-2a3757fb47fc-full.mp4
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:128: copied ddf83dd9-3ef3-4771-b2d8-2a3757fb47fc-thumb-250px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:128: copied ddf83dd9-3ef3-4771-b2d8-2a3757fb47fc-thumb-150px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied f756e56a-5e2b-4bcc-b980-3287baea7199-full.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:108: copied f756e56a-5e2b-4bcc-b980-3287baea7199-850px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:114: copied f756e56a-5e2b-4bcc-b980-3287baea7199-250px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:114: copied f756e56a-5e2b-4bcc-b980-3287baea7199-150px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 512c3d3f-5ecc-479c-b4b6-7ad0b12f6ea1-full.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:108: copied 512c3d3f-5ecc-479c-b4b6-7ad0b12f6ea1-850px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:59 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:114: copied 512c3d3f-5ecc-479c-b4b6-7ad0b12f6ea1-250px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:59 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:114: copied 512c3d3f-5ecc-479c-b4b6-7ad0b12f6ea1-150px.jpg
[2m[little-moments-e2e] [m2026/06/01 12:06:59 codeberg.org/mtlynch/little-moments/store/sqlite/sqlite.go:18: reading DB from /build/source/test-imported-media/test-store.db
[2m[little-moments-e2e] [m2026/06/01 12:07:03 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:140: wrote /build/source/test-imported-media/test-store.db
[2m[little-moments-e2e] [m[1mnpm[22m [33mwarn[39m [94mUnknown env config "nodedir". This will stop working in the next major version of npm.[39m
[2m[little-moments-e2e] [m[1mnpm[22m [33mwarn[39m [94mUnknown env config "platform". This will stop working in the next major version of npm.[39m
[2m[little-moments-e2e] [m[1mnpm[22m [33mwarn[39m [94mUnknown env config "arch". This will stop working in the next major version of npm.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [mRunning 10 tests using 8 workers
[2m[little-moments-e2e] [mTTTSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
[2m[little-moments-e2e] [mSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
[2m[little-moments-e2e] [mSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
[2m[little-moments-e2e] [mTTTTTSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
[2m[little-moments-e2e] [mSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
[2m[little-moments-e2e] [mTT
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 1) [chromium] › e2e/browse.spec.ts:68:7 › Browse media › shows the imported media entries on the browse page
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mFixture "workerServer" timeout of 5000ms exceeded during setup.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m at fixtures.ts:98
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 96 | }
[2m[little-moments-e2e] [m 97 |
[2m[little-moments-e2e] [m > 98 | export const test = base.extend<
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 99 | {
[2m[little-moments-e2e] [m 100 | resetServer: void;
[2m[little-moments-e2e] [m 101 | },
[2m[little-moments-e2e] [m at /build/source/e2e/fixtures.ts:98:26
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
[2m[little-moments-e2e] [m Usage:
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m npx playwright show-trace e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 2) [chromium] › e2e/browse.spec.ts:81:7 › Browse media › shows media thumbnails from newest to oldest
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mTest timeout of 5000ms exceeded while running "beforeEach" hook.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 62 | test.describe.configure({ mode: "parallel" });
[2m[little-moments-e2e] [m 63 |
[2m[little-moments-e2e] [m > 64 | test.beforeEach(async ({ page }) => {
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 65 | await logIn(page);
[2m[little-moments-e2e] [m 66 | });
[2m[little-moments-e2e] [m 67 |
[2m[little-moments-e2e] [m at /build/source/e2e/browse.spec.ts:64:8
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m Error: locator.click: Test timeout of 5000ms exceeded.
[2m[little-moments-e2e] [m Call log:
[2m[little-moments-e2e] [m [2m - waiting for getByRole('button', { name: 'Sign in' })[22m
[2m[little-moments-e2e] [m [2m - locator resolved to [22m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m at fixtures.ts:203
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 201 | await expect(page.getByRole("heading", { name: "Sign in" })).toBeVisible();
[2m[little-moments-e2e] [m 202 | await page.getByLabel("Password").fill(e2eSharedSecret);
[2m[little-moments-e2e] [m > 203 | await page.getByRole("button", { name: "Sign in" }).click();
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 204 | await expect(page).toHaveURL("/");
[2m[little-moments-e2e] [m 205 | }
[2m[little-moments-e2e] [m 206 |
[2m[little-moments-e2e] [m at logIn (/build/source/e2e/fixtures.ts:203:55)
[2m[little-moments-e2e] [m at /build/source/e2e/browse.spec.ts:65:5
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/video.webm
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m Error Context: e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/error-context.md
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
[2m[little-moments-e2e] [m Usage:
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m npx playwright show-trace e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 3) [chromium] › e2e/browse.spec.ts:92:7 › Browse media › shows a video indicator on video thumbnails only
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mFixture "workerServer" timeout of 5000ms exceeded during setup.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m at fixtures.ts:98
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 96 | }
[2m[little-moments-e2e] [m 97 |
[2m[little-moments-e2e] [m > 98 | export const test = base.extend<
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 99 | {
[2m[little-moments-e2e] [m 100 | resetServer: void;
[2m[little-moments-e2e] [m 101 | },
[2m[little-moments-e2e] [m at /build/source/e2e/fixtures.ts:98:26
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
[2m[little-moments-e2e] [m Usage:
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m npx playwright show-trace e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 4) [chromium] › e2e/browse.spec.ts:113:7 › Browse media › opens the first entry from the browse page and shows its details
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mFixture "workerServer" timeout of 5000ms exceeded during setup.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m at fixtures.ts:98
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 96 | }
[2m[little-moments-e2e] [m 97 |
[2m[little-moments-e2e] [m > 98 | export const test = base.extend<
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 99 | {
[2m[little-moments-e2e] [m 100 | resetServer: void;
[2m[little-moments-e2e] [m 101 | },
[2m[little-moments-e2e] [m at /build/source/e2e/fixtures.ts:98:26
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
[2m[little-moments-e2e] [m Usage:
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m npx playwright show-trace e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 5) [chromium] › e2e/browse.spec.ts:135:7 › Browse media › moves through adjacent entries with Previous and Next links
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mTest timeout of 5000ms exceeded while running "beforeEach" hook.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 62 | test.describe.configure({ mode: "parallel" });
[2m[little-moments-e2e] [m 63 |
[2m[little-moments-e2e] [m > 64 | test.beforeEach(async ({ page }) => {
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 65 | await logIn(page);
[2m[little-moments-e2e] [m 66 | });
[2m[little-moments-e2e] [m 67 |
[2m[little-moments-e2e] [m at /build/source/e2e/browse.spec.ts:64:8
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
[2m[little-moments-e2e] [m Usage:
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m npx playwright show-trace e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 6) [chromium] › e2e/browse.spec.ts:166:7 › Browse media › moves through adjacent entries with left and right arrow keys
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mTest timeout of 5000ms exceeded while running "beforeEach" hook.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 62 | test.describe.configure({ mode: "parallel" });
[2m[little-moments-e2e] [m 63 |
[2m[little-moments-e2e] [m > 64 | test.beforeEach(async ({ page }) => {
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 65 | await logIn(page);
[2m[little-moments-e2e] [m 66 | });
[2m[little-moments-e2e] [m 67 |
[2m[little-moments-e2e] [m at /build/source/e2e/browse.spec.ts:64:8
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m Error: locator.fill: Test timeout of 5000ms exceeded.
[2m[little-moments-e2e] [m Call log:
[2m[little-moments-e2e] [m [2m - waiting for getByLabel('Password')[22m
[2m[little-moments-e2e] [m [2m - locator resolved to [22m
[2m[little-moments-e2e] [m [2m - fill("somepassword")[22m
[2m[little-moments-e2e] [m [2m - attempting fill action[22m
[2m[little-moments-e2e] [m [2m - waiting for element to be visible, enabled and editable[22m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m at fixtures.ts:202
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 200 | await page.goto("/");
[2m[little-moments-e2e] [m 201 | await expect(page.getByRole("heading", { name: "Sign in" })).toBeVisible();
[2m[little-moments-e2e] [m > 202 | await page.getByLabel("Password").fill(e2eSharedSecret);
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 203 | await page.getByRole("button", { name: "Sign in" }).click();
[2m[little-moments-e2e] [m 204 | await expect(page).toHaveURL("/");
[2m[little-moments-e2e] [m 205 | }
[2m[little-moments-e2e] [m at logIn (/build/source/e2e/fixtures.ts:202:37)
[2m[little-moments-e2e] [m at /build/source/e2e/browse.spec.ts:65:5
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/video.webm
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m Error Context: e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/error-context.md
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
[2m[little-moments-e2e] [m Usage:
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m npx playwright show-trace e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 7) [chromium] › e2e/browse.spec.ts:187:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mTest timeout of 5000ms exceeded while running "beforeEach" hook.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 62 | test.describe.configure({ mode: "parallel" });
[2m[little-moments-e2e] [m 63 |
[2m[little-moments-e2e] [m > 64 | test.beforeEach(async ({ page }) => {
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 65 | await logIn(page);
[2m[little-moments-e2e] [m 66 | });
[2m[little-moments-e2e] [m 67 |
[2m[little-moments-e2e] [m at /build/source/e2e/browse.spec.ts:64:8
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
[2m[little-moments-e2e] [m Usage:
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m npx playwright show-trace e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 8) [chromium] › e2e/browse.spec.ts:215:7 › Browse media › shows the current media position within the full list
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mTest timeout of 5000ms exceeded while running "beforeEach" hook.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 62 | test.describe.configure({ mode: "parallel" });
[2m[little-moments-e2e] [m 63 |
[2m[little-moments-e2e] [m > 64 | test.beforeEach(async ({ page }) => {
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 65 | await logIn(page);
[2m[little-moments-e2e] [m 66 | });
[2m[little-moments-e2e] [m 67 |
[2m[little-moments-e2e] [m at /build/source/e2e/browse.spec.ts:64:8
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mFixture "workerServer" timeout of 5000ms exceeded during teardown.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m at fixtures.ts:98
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 96 | }
[2m[little-moments-e2e] [m 97 |
[2m[little-moments-e2e] [m > 98 | export const test = base.extend<
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 99 | {
[2m[little-moments-e2e] [m 100 | resetServer: void;
[2m[little-moments-e2e] [m 101 | },
[2m[little-moments-e2e] [m at /build/source/e2e/fixtures.ts:98:26
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/video.webm
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m Error Context: e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/error-context.md
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
[2m[little-moments-e2e] [m Usage:
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m npx playwright show-trace e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 9) [chromium] › e2e/browse.spec.ts:232:7 › Browse media › opens the last entry from the browse page and shows the oldest media
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mTest timeout of 5000ms exceeded.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/video.webm
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m Error Context: e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/error-context.md
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
[2m[little-moments-e2e] [m Usage:
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m npx playwright show-trace e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 10) [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m [31mTest timeout of 5000ms exceeded.[39m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m Error: locator.click: Test timeout of 5000ms exceeded.
[2m[little-moments-e2e] [m Call log:
[2m[little-moments-e2e] [m [2m - waiting for getByRole('main').getByRole('link').nth(3)[22m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 11 | await expect(mediaLinks).toHaveCount(5);
[2m[little-moments-e2e] [m 12 | // Entry order is newest-first: animated photo, video #2, video #1, photo #2, photo #1.
[2m[little-moments-e2e] [m > 13 | await mediaLinks.nth(3).click();
[2m[little-moments-e2e] [m | ^
[2m[little-moments-e2e] [m 14 | await expect(page.getByRole("main")).toContainText("test photo #2");
[2m[little-moments-e2e] [m 15 |
[2m[little-moments-e2e] [m 16 | const reactionTime = page
[2m[little-moments-e2e] [m at /build/source/e2e/media.spec.ts:13:29
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/video.webm
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m Error Context: e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/error-context.md
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
[2m[little-moments-e2e] [m Usage:
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m npx playwright show-trace e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m ────────────────────────────────────────────────────────────────────────────────────────────────
[2m[little-moments-e2e] [m
[2m[little-moments-e2e] [m 10 failed
[2m[little-moments-e2e] [m [chromium] › e2e/browse.spec.ts:68:7 › Browse media › shows the imported media entries on the browse page
[2m[little-moments-e2e] [m [chromium] › e2e/browse.spec.ts:81:7 › Browse media › shows media thumbnails from newest to oldest
[2m[little-moments-e2e] [m [chromium] › e2e/browse.spec.ts:92:7 › Browse media › shows a video indicator on video thumbnails only
[2m[little-moments-e2e] [m [chromium] › e2e/browse.spec.ts:113:7 › Browse media › opens the first entry from the browse page and shows its details
[2m[little-moments-e2e] [m [chromium] › e2e/browse.spec.ts:135:7 › Browse media › moves through adjacent entries with Previous and Next links
[2m[little-moments-e2e] [m [chromium] › e2e/browse.spec.ts:166:7 › Browse media › moves through adjacent entries with left and right arrow keys
[2m[little-moments-e2e] [m [chromium] › e2e/browse.spec.ts:187:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
[2m[little-moments-e2e] [m [chromium] › e2e/browse.spec.ts:215:7 › Browse media › shows the current media position within the full list
[2m[little-moments-e2e] [m [chromium] › e2e/browse.spec.ts:232:7 › Browse media › opens the last entry from the browse page and shows the oldest media
[2m[little-moments-e2e] [m [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
[2mProgress: 0 of 1 built (1 failed)[m
[1;31m[35;1m[0mCannot build '[35;1m/nix/store/68al0hs5m9ip6q2sr92zhl4h310cv6x5-little-moments-e2e-0.0.1.drv[0m'.
Reason: [31;1mbuilder failed with exit code 1[0m.
Output paths:
[35;1m/nix/store/gwdawb9gqi94vg6n8xvmlpi0bk4dhzgh-little-moments-e2e-0.0.1[0m
Last 388 log lines:
> Running phase: unpackPhase
> unpacking source archive /nix/store/blqmilnyqc700h8n00di5kfmagwzbz6y-source
> source root is source
> Running phase: patchPhase
> Executing npmConfigHook
> Configuring npm
> Validating consistency between /build/source/package-lock.json and /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps/package-lock.json
> Setting npm_config_cache to /nix/store/s010d1fi38rq6sq05s7jvvqri9dwn7ci-little-moments-e2e-0.0.1-npm-deps
> Installing dependencies
> [1mnpm[22m [33mwarn[39m [94mUnknown env config "nodedir". This will stop working in the next major version of npm.[39m
> [1mnpm[22m [33mwarn[39m [94mUnknown env config "platform". This will stop working in the next major version of npm.[39m
> [1mnpm[22m [33mwarn[39m [94mUnknown env config "arch". This will stop working in the next major version of npm.[39m
>
> added 100 packages, and audited 101 packages in 3s
>
> 25 packages are looking for funding
> run `npm fund` for details
>
> found [32m[1m0[22m[39m vulnerabilities
> patching script interpreter paths in node_modules
> node_modules/prettier/bin/prettier.cjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
> node_modules/js-yaml/bin/js-yaml.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
> node_modules/eslint/bin/eslint.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
> node_modules/which/bin/node-which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
> node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
> node_modules/ulid/bin/cli.js: interpreter directive changed from "#! /usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
> node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
> node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
> node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
> node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
> node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
> node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
> node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
> node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
> node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
> node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash"
> node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh"
> node_modules/playwright-core/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
> node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
> node_modules/@playwright/test/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node"
> [1mnpm[22m [33mwarn[39m [94mUnknown env config "nodedir". This will stop working in the next major version of npm.[39m
> [1mnpm[22m [33mwarn[39m [94mUnknown env config "platform". This will stop working in the next major version of npm.[39m
> [1mnpm[22m [33mwarn[39m [94mUnknown env config "arch". This will stop working in the next major version of npm.[39m
> rebuilt dependencies successfully
> patching script interpreter paths in node_modules
> Finished npmConfigHook
> Running phase: updateAutotoolsGnuConfigScriptsPhase
> Running phase: configurePhase
> no configure script, doing nothing
> Running phase: buildPhase
> no Makefile or custom buildPhase, doing nothing
> Running phase: checkPhase
> 2026/06/01 12:06:57 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 0955fcad-a0a0-4c0b-815a-4a117e21b59d-full.avif
> 2026/06/01 12:06:57 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:121: copied 0955fcad-a0a0-4c0b-815a-4a117e21b59d-250px.jpg
> 2026/06/01 12:06:57 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:121: copied 0955fcad-a0a0-4c0b-815a-4a117e21b59d-150px.jpg
> 2026/06/01 12:06:57 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 55339746-8846-4120-847e-f44769ee85f4-full.mp4
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:128: copied 55339746-8846-4120-847e-f44769ee85f4-thumb-250px.jpg
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:128: copied 55339746-8846-4120-847e-f44769ee85f4-thumb-150px.jpg
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied ddf83dd9-3ef3-4771-b2d8-2a3757fb47fc-full.mp4
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:128: copied ddf83dd9-3ef3-4771-b2d8-2a3757fb47fc-thumb-250px.jpg
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:128: copied ddf83dd9-3ef3-4771-b2d8-2a3757fb47fc-thumb-150px.jpg
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied f756e56a-5e2b-4bcc-b980-3287baea7199-full.jpg
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:108: copied f756e56a-5e2b-4bcc-b980-3287baea7199-850px.jpg
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:114: copied f756e56a-5e2b-4bcc-b980-3287baea7199-250px.jpg
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:114: copied f756e56a-5e2b-4bcc-b980-3287baea7199-150px.jpg
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:100: copied 512c3d3f-5ecc-479c-b4b6-7ad0b12f6ea1-full.jpg
> 2026/06/01 12:06:58 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:108: copied 512c3d3f-5ecc-479c-b4b6-7ad0b12f6ea1-850px.jpg
> 2026/06/01 12:06:59 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:114: copied 512c3d3f-5ecc-479c-b4b6-7ad0b12f6ea1-250px.jpg
> 2026/06/01 12:06:59 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:114: copied 512c3d3f-5ecc-479c-b4b6-7ad0b12f6ea1-150px.jpg
> 2026/06/01 12:06:59 codeberg.org/mtlynch/little-moments/store/sqlite/sqlite.go:18: reading DB from /build/source/test-imported-media/test-store.db
> 2026/06/01 12:07:03 codeberg.org/mtlynch/little-moments/cmd/import-from-tinybeans/main.go:140: wrote /build/source/test-imported-media/test-store.db
> [1mnpm[22m [33mwarn[39m [94mUnknown env config "nodedir". This will stop working in the next major version of npm.[39m
> [1mnpm[22m [33mwarn[39m [94mUnknown env config "platform". This will stop working in the next major version of npm.[39m
> [1mnpm[22m [33mwarn[39m [94mUnknown env config "arch". This will stop working in the next major version of npm.[39m
>
> Running 10 tests using 8 workers
> TTTSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
> Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
> Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
> TTTTTSkipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
> Skipping host requirements validation logic because `PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS` env variable is set.
> TT
>
> 1) [chromium] › e2e/browse.spec.ts:68:7 › Browse media › shows the imported media entries on the browse page
>
> [31mFixture "workerServer" timeout of 5000ms exceeded during setup.[39m
>
> at fixtures.ts:98
>
> 96 | }
> 97 |
> > 98 | export const test = base.extend<
> | ^
> 99 | {
> 100 | resetServer: void;
> 101 | },
> at /build/source/e2e/fixtures.ts:98:26
>
> attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
> Usage:
>
> npx playwright show-trace e2e-results/browse-Browse-media-shows--02a6e--entries-on-the-browse-page-chromium/trace.zip
>
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> 2) [chromium] › e2e/browse.spec.ts:81:7 › Browse media › shows media thumbnails from newest to oldest
>
> [31mTest timeout of 5000ms exceeded while running "beforeEach" hook.[39m
>
> 62 | test.describe.configure({ mode: "parallel" });
> 63 |
> > 64 | test.beforeEach(async ({ page }) => {
> | ^
> 65 | await logIn(page);
> 66 | });
> 67 |
> at /build/source/e2e/browse.spec.ts:64:8
>
> Error: locator.click: Test timeout of 5000ms exceeded.
> Call log:
> [2m - waiting for getByRole('button', { name: 'Sign in' })[22m
> [2m - locator resolved to [22m
>
>
> at fixtures.ts:203
>
> 201 | await expect(page.getByRole("heading", { name: "Sign in" })).toBeVisible();
> 202 | await page.getByLabel("Password").fill(e2eSharedSecret);
> > 203 | await page.getByRole("button", { name: "Sign in" }).click();
> | ^
> 204 | await expect(page).toHaveURL("/");
> 205 | }
> 206 |
> at logIn (/build/source/e2e/fixtures.ts:203:55)
> at /build/source/e2e/browse.spec.ts:65:5
>
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/video.webm
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> Error Context: e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/error-context.md
>
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
> Usage:
>
> npx playwright show-trace e2e-results/browse-Browse-media-shows--19f8f-nails-from-newest-to-oldest-chromium/trace.zip
>
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> 3) [chromium] › e2e/browse.spec.ts:92:7 › Browse media › shows a video indicator on video thumbnails only
>
> [31mFixture "workerServer" timeout of 5000ms exceeded during setup.[39m
>
> at fixtures.ts:98
>
> 96 | }
> 97 |
> > 98 | export const test = base.extend<
> | ^
> 99 | {
> 100 | resetServer: void;
> 101 | },
> at /build/source/e2e/fixtures.ts:98:26
>
> attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
> Usage:
>
> npx playwright show-trace e2e-results/browse-Browse-media-shows--c7537-or-on-video-thumbnails-only-chromium/trace.zip
>
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> 4) [chromium] › e2e/browse.spec.ts:113:7 › Browse media › opens the first entry from the browse page and shows its details
>
> [31mFixture "workerServer" timeout of 5000ms exceeded during setup.[39m
>
> at fixtures.ts:98
>
> 96 | }
> 97 |
> > 98 | export const test = base.extend<
> | ^
> 99 | {
> 100 | resetServer: void;
> 101 | },
> at /build/source/e2e/fixtures.ts:98:26
>
> attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
> Usage:
>
> npx playwright show-trace e2e-results/browse-Browse-media-opens--542e7--page-and-shows-its-details-chromium/trace.zip
>
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> 5) [chromium] › e2e/browse.spec.ts:135:7 › Browse media › moves through adjacent entries with Previous and Next links
>
> [31mTest timeout of 5000ms exceeded while running "beforeEach" hook.[39m
>
> 62 | test.describe.configure({ mode: "parallel" });
> 63 |
> > 64 | test.beforeEach(async ({ page }) => {
> | ^
> 65 | await logIn(page);
> 66 | });
> 67 |
> at /build/source/e2e/browse.spec.ts:64:8
>
> attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
> Usage:
>
> npx playwright show-trace e2e-results/browse-Browse-media-moves--c86ee-ith-Previous-and-Next-links-chromium/trace.zip
>
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> 6) [chromium] › e2e/browse.spec.ts:166:7 › Browse media › moves through adjacent entries with left and right arrow keys
>
> [31mTest timeout of 5000ms exceeded while running "beforeEach" hook.[39m
>
> 62 | test.describe.configure({ mode: "parallel" });
> 63 |
> > 64 | test.beforeEach(async ({ page }) => {
> | ^
> 65 | await logIn(page);
> 66 | });
> 67 |
> at /build/source/e2e/browse.spec.ts:64:8
>
> Error: locator.fill: Test timeout of 5000ms exceeded.
> Call log:
> [2m - waiting for getByLabel('Password')[22m
> [2m - locator resolved to [22m
> [2m - fill("somepassword")[22m
> [2m - attempting fill action[22m
> [2m - waiting for element to be visible, enabled and editable[22m
>
>
> at fixtures.ts:202
>
> 200 | await page.goto("/");
> 201 | await expect(page.getByRole("heading", { name: "Sign in" })).toBeVisible();
> > 202 | await page.getByLabel("Password").fill(e2eSharedSecret);
> | ^
> 203 | await page.getByRole("button", { name: "Sign in" }).click();
> 204 | await expect(page).toHaveURL("/");
> 205 | }
> at logIn (/build/source/e2e/fixtures.ts:202:37)
> at /build/source/e2e/browse.spec.ts:65:5
>
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/video.webm
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> Error Context: e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/error-context.md
>
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
> Usage:
>
> npx playwright show-trace e2e-results/browse-Browse-media-moves--d7942-h-left-and-right-arrow-keys-chromium/trace.zip
>
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> 7) [chromium] › e2e/browse.spec.ts:187:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
>
> [31mTest timeout of 5000ms exceeded while running "beforeEach" hook.[39m
>
> 62 | test.describe.configure({ mode: "parallel" });
> 63 |
> > 64 | test.beforeEach(async ({ page }) => {
> | ^
> 65 | await logIn(page);
> 66 | });
> 67 |
> at /build/source/e2e/browse.spec.ts:64:8
>
> attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
> Usage:
>
> npx playwright show-trace e2e-results/browse-Browse-media-moves--23055-th-swipe-gestures-on-mobile-chromium/trace.zip
>
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> 8) [chromium] › e2e/browse.spec.ts:215:7 › Browse media › shows the current media position within the full list
>
> [31mTest timeout of 5000ms exceeded while running "beforeEach" hook.[39m
>
> 62 | test.describe.configure({ mode: "parallel" });
> 63 |
> > 64 | test.beforeEach(async ({ page }) => {
> | ^
> 65 | await logIn(page);
> 66 | });
> 67 |
> at /build/source/e2e/browse.spec.ts:64:8
>
> [31mFixture "workerServer" timeout of 5000ms exceeded during teardown.[39m
>
> at fixtures.ts:98
>
> 96 | }
> 97 |
> > 98 | export const test = base.extend<
> | ^
> 99 | {
> 100 | resetServer: void;
> 101 | },
> at /build/source/e2e/fixtures.ts:98:26
>
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/video.webm
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> Error Context: e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/error-context.md
>
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
> Usage:
>
> npx playwright show-trace e2e-results/browse-Browse-media-shows--fa2ac-sition-within-the-full-list-chromium/trace.zip
>
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> 9) [chromium] › e2e/browse.spec.ts:232:7 › Browse media › opens the last entry from the browse page and shows the oldest media
>
> [31mTest timeout of 5000ms exceeded.[39m
>
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/video.webm
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> Error Context: e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/error-context.md
>
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
> e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
> Usage:
>
> npx playwright show-trace e2e-results/browse-Browse-media-opens--bb8a3--and-shows-the-oldest-media-chromium/trace.zip
>
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> 10) [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
>
> [31mTest timeout of 5000ms exceeded.[39m
>
> Error: locator.click: Test timeout of 5000ms exceeded.
> Call log:
> [2m - waiting for getByRole('main').getByRole('link').nth(3)[22m
>
>
> 11 | await expect(mediaLinks).toHaveCount(5);
> 12 | // Entry order is newest-first: animated photo, video #2, video #1, photo #2, photo #1.
> > 13 | await mediaLinks.nth(3).click();
> | ^
> 14 | await expect(page.getByRole("main")).toContainText("test photo #2");
> 15 |
> 16 | const reactionTime = page
> at /build/source/e2e/media.spec.ts:13:29
>
> attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
> e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/video.webm
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> Error Context: e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/error-context.md
>
> attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
> e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
> Usage:
>
> npx playwright show-trace e2e-results/media-View-media-shows-rea-844de-a-tooltip-of-the-exact-date-chromium/trace.zip
>
> ────────────────────────────────────────────────────────────────────────────────────────────────
>
> 10 failed
> [chromium] › e2e/browse.spec.ts:68:7 › Browse media › shows the imported media entries on the browse page
> [chromium] › e2e/browse.spec.ts:81:7 › Browse media › shows media thumbnails from newest to oldest
> [chromium] › e2e/browse.spec.ts:92:7 › Browse media › shows a video indicator on video thumbnails only
> [chromium] › e2e/browse.spec.ts:113:7 › Browse media › opens the first entry from the browse page and shows its details
> [chromium] › e2e/browse.spec.ts:135:7 › Browse media › moves through adjacent entries with Previous and Next links
> [chromium] › e2e/browse.spec.ts:166:7 › Browse media › moves through adjacent entries with left and right arrow keys
> [chromium] › e2e/browse.spec.ts:187:7 › Browse media › moves through adjacent entries with swipe gestures on mobile
> [chromium] › e2e/browse.spec.ts:215:7 › Browse media › shows the current media position within the full list
> [chromium] › e2e/browse.spec.ts:232:7 › Browse media › opens the last entry from the browse page and shows the oldest media
> [chromium] › e2e/media.spec.ts:6:7 › View media › shows reaction with a tooltip of the exact date
For full logs, run:
[1mnix log /nix/store/68al0hs5m9ip6q2sr92zhl4h310cv6x5-little-moments-e2e-0.0.1.drv[0m[0m[m