Add two feature-named Playwright tests against the real production app:
Editor: a signed-out visitor signs in through the real form, reaches the requested editor, saves an edit and reloads the persisted source.
Search: a visitor submits a piece title, sees the matching result without an unrelated fixture, and opens a successfully rendered public piece.
Use one Chromium worker, one temporary archive/config/SQLite index and the existing production build from test:templates. No additional build, CI job, browser matrix or automatic retries. No request/response mocks, artificial request holds, or direct filesystem assertions.
Run test:e2e in both existing CI test paths: the pinned GHCR Playwright image on GitHub, and its Gitea mirror on Woodpecker. Retain failure traces/screenshots/server logs; GitHub uploads failure artifacts. Document local usage and ignore generated output.
No application-runtime changes, search-loading changes or release changeset.
Local verification
Both browser tests passed: 4.2 seconds reported by Playwright, 5.56 seconds for the complete pnpm invocation, excluding build/download/image-pull time.
Svelte check: 0 errors, 0 warnings.
Full web lint, CI/docs formatting and staged whitespace passed.
Fresh production build plus the existing selected native HTTP auth/public-image regression passed; the retained build was reused for browser tests. Not a whole-workspace or full HTTP-suite rerun.
Correctness/readability reviews found no material runner/CI issues. Final focused test-value review supported the reduced two-journey scope.
CI confirmation needed
Local success does not verify either container workflow. This PR should confirm image/toolchain compatibility, the tests on actual CI, and total overhead including image pulls. The test-step/check-job image changes affect more than browser execution.
The suite does not exercise workers, LSP, external OIDC/CDN services or Preview/Publish execution. Detailed pending/retry, modal-draft and save-race cases were deliberately excluded from this small browser suite; existing cheaper tests remain unchanged.
## Summary
Add two feature-named Playwright tests against the real production app:
- **Editor:** a signed-out visitor signs in through the real form, reaches the requested editor, saves an edit and reloads the persisted source.
- **Search:** a visitor submits a piece title, sees the matching result without an unrelated fixture, and opens a successfully rendered public piece.
Use one Chromium worker, one temporary archive/config/SQLite index and the existing production build from `test:templates`. No additional build, CI job, browser matrix or automatic retries. No request/response mocks, artificial request holds, or direct filesystem assertions.
Run `test:e2e` in both existing CI test paths: the pinned GHCR Playwright image on GitHub, and its Gitea mirror on Woodpecker. Retain failure traces/screenshots/server logs; GitHub uploads failure artifacts. Document local usage and ignore generated output.
No application-runtime changes, search-loading changes or release changeset.
## Local verification
- Both browser tests passed: **4.2 seconds** reported by Playwright, **5.56 seconds** for the complete pnpm invocation, excluding build/download/image-pull time.
- Svelte check: **0 errors, 0 warnings**.
- Full web lint, CI/docs formatting and staged whitespace passed.
- Fresh production build plus the existing selected native HTTP auth/public-image regression passed; the retained build was reused for browser tests. Not a whole-workspace or full HTTP-suite rerun.
- Correctness/readability reviews found no material runner/CI issues. Final focused test-value review supported the reduced two-journey scope.
## CI confirmation needed
Local success does not verify either container workflow. This PR should confirm image/toolchain compatibility, the tests on actual CI, and total overhead including image pulls. The test-step/check-job image changes affect more than browser execution.
The suite does not exercise workers, LSP, external OIDC/CDN services or Preview/Publish execution. Detailed pending/retry, modal-draft and save-race cases were deliberately excluded from this small browser suite; existing cheaper tests remain unchanged.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Add two feature-named Playwright tests against the real production app:
Use one Chromium worker, one temporary archive/config/SQLite index and the existing production build from
test:templates. No additional build, CI job, browser matrix or automatic retries. No request/response mocks, artificial request holds, or direct filesystem assertions.Run
test:e2ein both existing CI test paths: the pinned GHCR Playwright image on GitHub, and its Gitea mirror on Woodpecker. Retain failure traces/screenshots/server logs; GitHub uploads failure artifacts. Document local usage and ignore generated output.No application-runtime changes, search-loading changes or release changeset.
Local verification
CI confirmation needed
Local success does not verify either container workflow. This PR should confirm image/toolchain compatibility, the tests on actual CI, and total overhead including image pulls. The test-step/check-job image changes affect more than browser execution.
The suite does not exercise workers, LSP, external OIDC/CDN services or Preview/Publish execution. Detailed pending/retry, modal-draft and save-race cases were deliberately excluded from this small browser suite; existing cheaper tests remain unchanged.