Skip to content

fix: make Explore filters accessible and recoverable - #144

Merged
johnnyhuy merged 1 commit into
mainfrom
agent/issue-143-explore-filters
Nov 15, 2026
Merged

johnnyhuy merged 1 commit into
mainfrom
agent/issue-143-explore-filters

Conversation

@johnnyhuy

Copy link
Copy Markdown
Contributor

Explore now shows one empty result with Clear filters, which restores all tools and returns focus to search. The search field has a visible label and fits narrow screens, category buttons expose their selected state, and the tool count is announced as a status.

Part of #85. Closes #143. The parent demo-readiness epic remains open.

Verified locally with MISE_TRUSTED_CONFIG_PATHS="$PWD" after reviewing the worktree configuration.

  • mise run install passed with existing peer dependency warnings.
  • mise run lint passed, including TypeScript and ESLint across all workspaces.
  • mise run test --runInBand --verbose passed 61 tests in ten suites. One existing test and suite remain skipped.
  • mise run test --runInBand --verbose ExplorePage passed all six new cases again after the final conditional-rendering simplification.
  • BROWSER=none mise run dev compiled successfully and served the app on localhost:3000 and backend on localhost:7007.
  • mise run proof-browser -- open http://localhost:3000/explore --browser=chrome, followed by Guest > Enter, rendered the real portal. Before the fix, browser inspection confirmed two empty messages for the same search and category combination.
  • mise run proof-browser -- resize 1440 1000 and mise run proof-browser -- run-code '<browser assertions>' verified Space-key category selection, exactly one empty message, Enter-key reset, all 28 tools returning and search regaining focus.
  • mise run proof-browser -- resize 375 900 and mise run proof-browser -- run-code '<browser assertions>' verified the search input fits the viewport and keyboard reset still restores all tools and focus. Screenshots used page.screenshot under .tmp/proof/, with transitions disabled for stable capture. All three images were visually inspected.
  • git diff --check passed. The temporary local proof-browser task wrapped the installed Playwright CLI and was removed after capture.

This is a frontend-only slice. No backend or packaging changed, so a Docker image build was not required locally. The existing PR workflow also runs the Docker gate.

The new tests use the actual Explore page, category controls and tool cards.

PASS app packages/app/src/components/explore/ExplorePage.test.tsx
  ExplorePage
    ✓ labels search and exposes category selection and the tool count
    ✓ combines search and category filters and restores all tools with focus
    ✓ offers a single recoverable empty state across all categories
    ✓ matches names, descriptions and tags for GITHUB
    ✓ matches names, descriptions and tags for browser-based
    ✓ matches names, descriptions and tags for scm

Test Suites: 1 skipped, 10 passed, 10 of 11 total
Tests:       1 skipped, 61 passed, 62 total

# Final focused recheck
Test Suites: 1 passed, 1 total
Tests:       6 passed, 6 total

Browser capture succeeded on desktop and mobile. No capture path was blocked and no fallback was needed. Images are committed and pinned to the reviewed commit.

Explore empty result with one recovery action

Explore after clearing filters, with all 28 tools and search focused

Explore filters and recovery at 375px

Tool definitions, destinations and matching rules are unchanged. Existing React deprecation and jsdom CSS warnings remain in tests. Runtime logs still show the previously recorded Signals websocket/events 404s and unavailable TechDocs search indexes; these did not block Explore and remain follow-up work. No manual screen reader session was performed.

Co-authored-by: OpenAI Codex <noreply@openai.com>
@johnnyhuy
johnnyhuy merged commit 0a598cf into main Nov 15, 2026
5 checks passed
@johnnyhuy
johnnyhuy deleted the agent/issue-143-explore-filters branch November 15, 2026 00:07
@johnnyhuy

Copy link
Copy Markdown
Contributor Author

Continuation verification passed on merged main commit 0a598cf. mise run install passed with the existing peer warnings, mise run lint passed, and mise run test --runInBand --verbose passed all 61 tests in ten suites, including all six Explore cases. One existing test and suite remain skipped. Existing React and jsdom CSS warnings remain. git diff --check passed and the worktree is clean. I also rechecked the successful CI transcript for install, lint, tests and the Docker image build. The merged tree matches 8f18127 exactly. All three existing browser screenshots were visually inspected again; no new capture or fallback was needed. Child #143 closed through this merge, and parent #85 remains open. The merged remote and local agent branches have been deleted. Release PR #109 was skipped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix Explore filter accessibility and empty-result recovery

1 participant