Skip to content

MCP: Add search + Displays photo - #738

Merged
danactive merged 31 commits into
mainfrom
thumbs-cache
Aug 11, 2026
Merged

MCP: Add search + Displays photo#738
danactive merged 31 commits into
mainfrom
thumbs-cache

Conversation

@danactive

Copy link
Copy Markdown
Owner

Summary

  • MCP server can now answer all questions I tested and display the binary image (Claude Desktop blocks localhost)
  • Optimize performance with new Next.js Cache Components

Test plan

Manual tested

danactive added 28 commits July 23, 2026 20:31
@vercel

vercel Bot commented Aug 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
history Ready Ready Preview Aug 11, 2026 4:30am

@danactive
danactive requested a balanced review from Copilot August 10, 2026 03:42
Comment thread src/lib/filter-query.ts Fixed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds canonical search/filtering, cached page-data pipelines, synchronized virtualized viewers, and MCP image/resource support.

Changes:

  • Centralizes query parsing, filtering, metadata, and route helpers.
  • Refactors gallery, map, person, and thumbnail selection flows.
  • Adds Streamable HTTP MCP tools with media responses and supporting tests.

Reviewed changes

Copilot reviewed 154 out of 158 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
README.md Documents MCP setup.
AGENTS.md Adds contributor guidance.
.gitignore Updates ignored files.
package.json Updates dependencies/scripts.
package-lock.json Locks dependency changes.
next.config.ts Enables Cache Components.
eslint.config.mjs Updates lint configuration.
vitest.setup.ts Adds cleanup and cache mocks.
scripts/start.js Updates startup behavior.
src/config.ts Adds visited-region thresholds.
src/app-globals.tsx Updates global providers.
src/__tests__/app-globals.vitest.tsx Tests global providers.
src/utils/search.ts Exports normalized search values.
src/utils/person-age.ts Extends age summaries.
src/utils/index.ts Adds chronological comparators.
src/utils/__tests__/person-age.vitest.ts Tests age summaries.
src/types/pages.d.ts Consolidates page-data types.
src/types/config.d.ts Adds configuration fields.
src/types/common.d.ts Extends item/search types.
src/models/album.ts Tightens album transformation.
src/models/__tests__/album.vitest.ts Updates album expectations.
src/lib/active-facets.ts Adds active-facet counts.
src/lib/album.ts Adds cached album loading.
src/lib/filter-items.ts Centralizes item filtering.
src/lib/filter-metadata-core.ts Builds filter metadata.
src/lib/filter-query.ts Implements canonical queries.
src/lib/galleries.ts Adds cached gallery loading.
src/lib/generate-clusters.ts Updates map clustering.
src/lib/get-all-items.ts Builds cached all-item data.
src/lib/monthDay.ts Generates Today filters and links.
src/lib/person-item-filter.ts Filters items by person.
src/lib/persons-age-summary.ts Recomputes scoped age summaries.
src/lib/persons-route-filters.ts Parses person route filters.
src/lib/storytelling-candidates.ts Updates story candidates.
src/lib/today.ts Builds cached Today data.
src/lib/visited.ts Re-exports visited helpers.
src/lib/visited-core.ts Expands visited-place search.
src/lib/server/cached-gallery-data.ts Adds cache-backed gallery data.
src/lib/server/filter-items.ts Adds server filtering.
src/lib/server/filter-metadata.ts Adds cached filter metadata.
src/lib/server/page-route.ts Adds shared route helpers.
src/lib/server/search-params.ts Normalizes route search parameters.
src/lib/domains/index.ts Exports domain helpers.
src/lib/domains/items.ts Adds item-domain utilities.
src/lib/domains/visited.ts Adds visited-place filtering.
src/lib/domains/persons/index.ts Exports person-domain helpers.
src/lib/domains/persons/metadata.ts Builds person counts.
src/lib/domains/persons/search-options.ts Builds person search options.
src/lib/__tests__/active-facets.vitest.ts Tests facet counts.
src/lib/__tests__/filter-items.vitest.ts Tests item filtering.
src/lib/__tests__/filter-metadata-core.vitest.ts Tests metadata generation.
src/lib/__tests__/filter-query.vitest.ts Tests query parsing.
src/lib/__tests__/get-all-items.vitest.ts Tests all-item data.
src/lib/__tests__/monthDay.vitest.ts Tests Today helpers.
src/lib/__tests__/persons-age-summary.vitest.ts Tests scoped ages.
src/lib/__tests__/persons-route-filters.vitest.ts Tests route filters.
src/lib/__tests__/server-route-helpers.vitest.ts Tests server route helpers.
src/lib/__tests__/storytelling-candidates.vitest.ts Tests story candidates.
src/lib/__tests__/visited.vitest.ts Tests visited metadata.
src/lib/__tests__/domains/items.vitest.ts Tests item-domain utilities.
src/lib/__tests__/domains/visited.vitest.ts Tests visited filtering.
src/lib/__tests__/domains/persons/metadata.vitest.ts Tests person metadata.
src/lib/__tests__/domains/persons/search-options.vitest.ts Tests person options.
src/hooks/selection-coordinator.ts Defines selection coordination.
src/hooks/useAnimateMap.ts Updates map animation.
src/hooks/useAnimatePhotoScroll.ts Updates photo scrolling.
src/hooks/useAutoFocusSelected.ts Focuses selected thumbnails.
src/hooks/useDrag.ts Handles drag navigation.
src/hooks/useFilters.ts Coordinates filter state.
src/hooks/useFullscreen.ts Manages fullscreen state.
src/hooks/useHydrated.ts Tracks client hydration.
src/hooks/useImageHeight.ts Measures image height.
src/hooks/useKeyboard.ts Handles keyboard navigation.
src/hooks/useObservedDimensions.ts Observes element dimensions.
src/hooks/useOnMouseOut.ts Handles pointer exit.
src/hooks/useRefreshMapSelection.ts Synchronizes map selection.
src/hooks/useSearch.tsx Coordinates search scopes.
src/hooks/useSelectionCoordinator.ts Synchronizes selected IDs/indexes.
src/hooks/useStorytellingPanel.ts Updates storytelling UI state.
src/hooks/useViewerMediaRefs.ts Manages viewer media refs.
src/hooks/useViewerNavigationState.ts Tracks viewer navigation.
src/hooks/useViewerSelection.ts Manages viewer selection.
src/hooks/__tests__/useAnimateMap.vitest.tsx Tests map animation.
src/hooks/__tests__/useAnimatePhotoScroll.vitest.tsx Tests photo scrolling.
src/hooks/__tests__/useAutoFocusSelected.vitest.tsx Tests selected-item focus.
src/hooks/__tests__/useDrag.vitest.tsx Tests drag handling.
src/hooks/__tests__/useFilters.vitest.tsx Tests filter state.
src/hooks/__tests__/useFullscreen.vitest.tsx Tests fullscreen behavior.
src/hooks/__tests__/useHydrated.vitest.tsx Tests hydration state.
src/hooks/__tests__/useImageHeight.vitest.tsx Tests image measurement.
src/hooks/__tests__/useKeyboard.vitest.tsx Tests keyboard navigation.
src/hooks/__tests__/useObservedDimensions.vitest.tsx Tests dimension observation.
src/hooks/__tests__/useOnMouseOut.vitest.tsx Tests pointer-exit handling.
src/hooks/__tests__/useRefreshMapSelection.vitest.tsx Tests map synchronization.
src/hooks/__tests__/useSearch.vitest.tsx Tests search coordination.
src/hooks/__tests__/useSelectionCoordinator.vitest.ts Tests selection coordination.
src/hooks/__tests__/useViewerSelection.vitest.ts Tests viewer selection.
src/components/ActiveSearchFilter/index.tsx Displays active filters.
src/components/ActiveSearchFilter/__tests__/ActiveSearchFilter.vitest.tsx Tests active filters.
src/components/Album/index.tsx Integrates searchable albums.
src/components/Album/Item.tsx Updates album item rendering.
src/components/Album/__tests__/Album.vitest.tsx Tests album behavior.
src/components/Album/__tests__/AlbumItem.vitest.tsx Tests album items.
src/components/AlbumList.tsx Updates album ordering/listing.
src/components/All/index.tsx Integrates all-item filters.
src/components/All/Items.tsx Adds virtualized thumbnails.
src/components/All/AgeSelector.tsx Updates age selection.
src/components/All/__tests__/All.vitest.tsx Tests all-item view.
src/components/All/__tests__/Items.vitest.tsx Tests thumbnail items.
src/components/Galleries.tsx Updates gallery navigation.
src/components/Header.tsx Updates header behavior.
src/components/Map/index.tsx Adds bounds-based filtering.
src/components/Map/__tests__/Map.vitest.tsx Tests map behavior.
src/components/Person/Details.tsx Adds person details filtering.
src/components/Person/List.tsx Updates person listing.
src/components/Person/__tests__/Details.vitest.tsx Tests person details.
src/components/RootStyleRegistry.tsx Updates style registration.
src/components/RootStyleRegistry.vitest.tsx Tests style registration.
src/components/Search/index.tsx Integrates canonical search.
src/components/Search/Popover.tsx Updates search options.
src/components/Search/__tests__/Search.vitest.tsx Tests search behavior.
src/components/Search/__tests__/Popover.vitest.tsx Tests search popover.
src/components/SplitViewer/index.tsx Coordinates bounded viewer state.
src/components/SplitViewer/ItemDetails.tsx Updates item details.
src/components/SplitViewer/Map.tsx Synchronizes viewer map.
src/components/SplitViewer/Photo.tsx Updates media rendering.
src/components/SplitViewer/Thumbs.tsx Virtualizes viewer thumbnails.
src/components/SplitViewer/__tests__/SplitViewer.vitest.tsx Tests split-viewer behavior.
src/components/ThumbImg/index.tsx Adds thumbnail virtualization hooks.
src/components/ThumbImg/__tests__/ThumbImg.vitest.tsx Tests thumbnail behavior.
src/components/VisitedRegions/index.tsx Updates visited-region UI.
src/components/VisitedRegions/Content.tsx Renders visited content.
src/components/VisitedRegions/Country.tsx Renders country groups.
src/components/VisitedRegions/VisistedRegion.tsx Renders region entries.
src/components/VisitedRegions/__tests__/VisitedRegions.vitest.tsx Tests visited-region UI.
mcp/types.ts Defines MCP tool types.
mcp/client-types.ts Defines MCP client payloads.
mcp/candidate-provider.ts Supplies storytelling candidates.
mcp/storytelling.ts Implements MCP tools and media.
mcp/index.ts Exports MCP server functionality.
mcp/__tests__/types.vitest.ts Tests MCP types.
mcp/__tests__/storytelling.vitest.ts Tests MCP storytelling.
mcp/__tests__/mcp-app.vitest.ts Tests MCP App resources.
app/layout.tsx Updates application layout.
app/page.tsx Updates root page loading.
app/mcp/route.ts Exposes MCP HTTP transport.
app/[gallery]/page.tsx Updates gallery route.
app/[gallery]/all/page.tsx Adds filtered all-items route.
app/[gallery]/all/[id]/page.tsx Updates selected-item route.
app/[gallery]/persons/page.tsx Adds person filtering.
app/[gallery]/persons/[person]/page.tsx Adds person detail route data.
app/[gallery]/today/page.tsx Adds searchable Today route.
app/[gallery]/visited/page.tsx Adds visited search links.
app/[gallery]/visited/[country]/page.tsx Updates country visit route.
app/[gallery]/[album]/page.tsx Adds cached album route data.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/utils/index.ts
Comment thread src/lib/filter-metadata-core.ts Outdated
Comment thread src/lib/persons-age-summary.ts
Comment thread src/lib/monthDay.ts Outdated
Comment thread README.md
Comment thread src/components/All/Items.tsx
Comment thread app/[gallery]/visited/page.tsx Outdated
@danactive
danactive merged commit 1593056 into main Aug 11, 2026
15 of 18 checks passed
@danactive
danactive deleted the thumbs-cache branch August 11, 2026 04:42
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.

3 participants