Description
Post-merge verification of PR #142 ("fix: resolve E2E editor test strict mode violations from leftover content (#140)") detected 1 E2E failure out of 42 tests. The search empty state continues to fail despite previous fixes in #126 and #136 (both closed as done).
When searching for a nonsense string (zzzyyyxxxnonexistent999), the #search-results container shows skeleton loading placeholders indefinitely instead of the "No pages match your search" message. The screenshot confirms the search input has the query text but the dropdown displays animated pulse bars followed by the full page list.
This is not a regression from PR #142 (which only modified editor E2E test files). The bug has persisted across multiple verification cycles.
Acceptance Criteria
Technical Notes
Description
Post-merge verification of PR #142 ("fix: resolve E2E editor test strict mode violations from leftover content (#140)") detected 1 E2E failure out of 42 tests. The search empty state continues to fail despite previous fixes in #126 and #136 (both closed as done).
When searching for a nonsense string (
zzzyyyxxxnonexistent999), the#search-resultscontainer shows skeleton loading placeholders indefinitely instead of the "No pages match your search" message. The screenshot confirms the search input has the query text but the dropdown displays animated pulse bars followed by the full page list.This is not a regression from PR #142 (which only modified editor E2E test files). The bug has persisted across multiple verification cycles.
Acceptance Criteria
zzzyyyxxxnonexistent999) shows "No pages match your search" in the dropdownloadingstate correctly transitions tofalseafter the search API returns zero resultssearch with no matches shows empty state(e2e/search.spec.ts:159) passes against productionpnpm lint && pnpm typecheck && pnpm testpassTechnical Notes
e2e/search.spec.ts:159—Sidebar search › search with no matches shows empty statesrc/components/sidebar/page-search.tsx— theloadingstate likely remainstrueorresultsis never set to an empty array when the search API returns zero matches, preventing the empty state condition from triggering