mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 16:02:26 +00:00
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01LHH3wPBsoruwCaJo8Rpf6a
4.7 KiB
4.7 KiB
Known Issues
Test Infrastructure
Missing jsdom Dependency
- Status: Resolved (2026-07-30)
- Detected: 2026-02-26
- Description: Unit tests failed with
ERR_MODULE_NOT_FOUNDbecausejsdomwas imported but not installed. - Resolution:
jsdomhas been a devDependency for some time (28.1.0 installed and inpackage.json); the jsdom-based suites run clean.
Run Notes (2026-03-04)
Firefox E2E feed hydration flakes under full parallel load
- Status: Active
- Description:
test:e2ecan intermittently fail in Firefox with[testHarness] Timed out waiting for <n> feed items (found 0)inwaitForFeedItems, while the same failing specs usually pass in isolated reruns. - Impact: Full-suite Firefox E2E runs are flaky even after local polling hardening.
- Observed failures:
tests/e2e/video-crud-flows.spec.ts,tests/e2e/video-edit-delete-execution.spec.ts,tests/e2e/view-navigation.spec.ts.
Nostr tools signing/key API expectation in unit tests
- Status: Addressed
- Description:
tests/nostr-send-direct-message.test.mjsmust passUint8Arraysecret keys togetPublicKey/finalizeEventfor currentnostr-tools. - Impact: Passing hex strings causes failures like
expected Uint8Array, got type=string.
Run Notes (2026-06-20, updated 2026-07-30)
login-flows.spec.ts:149 — upload/profile buttons stay visible after logout
- Status: Active — NOT merely a parallel-load flake
- Description: Previously filed as a worker-contention flake that "passes deterministically in isolation." On 2026-07-28 it failed in isolation as well (chromium, local and CI
e2e-headless), while passing in the CIe2e-tests (e2e)job — environment-sensitive, not load-sensitive. Direct probes of the same flow (raw__bitvidTest__.loginWithNsec→logout()against a mock relay) hide the button correctly, so the failure is specific to something in the Playwright fixture path. An attempted fix (runningapplyLoggedOutUiState()before the awaited NWC/profile teardown in_executeAuthLogout) did not change the outcome and was reverted rather than shipped unverified. - Impact: One e2e failure in
e2e-headless; logout hides gated UI correctly in manual testing and direct harness probes. - Next step: Investigate alongside pre-launch TODO #33 ("logout logs out everyone" / NIP-46 session persistence) — same subsystem.
video-upload-publish-lifecycle.spec.ts:49 / :79 flake under full parallel load
- Status: Active
- Description: Under the full
test:e2erun these intermittently fail on feed-appearance timeouts but pass on retry (CI marks them flaky). Worker resource contention. - Impact: Full-suite e2e occasionally needs retries; isolated reruns are green.
webseed-playback.spec.ts:31 fails on Firefox headless (CDN mode)
- Status: Resolved (2026-07-28,
f48150ed) - Description: The test asserted the final
srcequals the CDN URL while simultaneously tolerating "No playable source found" in its status assertion — contradictory, because a failed hosted attempt callsresetVideoElement(), which clearssrc. Headless CI cannot decode the archive.org H.264 sample, so the cleared-src path was routine there. - Resolution: The test now records every
srcthe player attaches via a MutationObserver and asserts the CDN URL was attached — the actual behavior under test. Green in bothe2eande2e-firefoxCI jobs.
uploadModal-reset.test.mjs ("UploadModal Reset Logic") hangs/cancels
- Status: Not reproducible (2026-07-30)
- Description: Intermittent
cancelledByParent/ "Promise resolution is still pending" hang, order/timing dependent. - Current state: Passes cleanly (
pass=3 fail=0 cancelled=0) in isolation and across repeated full-suite sweeps on 2026-07-28–30. Left on file because the original failure was ordering-dependent; if it recurs, capture the full-suite ordering that produced it.
Run Notes (2026-07-30)
Visual baselines are CI-canonical — local test:visual may fail the kitchen-sink diff
- Status: By design (since
ab120a03) - Description:
tests/visual/baselines.jsonis regenerated on ubuntu-latest by theupdate-visual-baselinesworkflow (trigger:workflow_dispatchonce promoted, or a commit containing[update-visual-baselines]). Baselines can only match one environment, and the CI gate is the one that matters — so a dev machine with different Chromium/font rendering may now failnpm run test:visuallocally (typically the kitchen-sink default theme) even though CI is green. - Workaround: Run visual tests in the pinned container via
scripts/run-playwright-docker.sh, or rely on CI. Never regenerate baselines from a dev machine.