Skip to content

Add Trip Editor geocode search#271

Merged
stef-k merged 7 commits into
mainfrom
feature/trip-editor-geocode-search-add
May 11, 2026
Merged

Add Trip Editor geocode search#271
stef-k merged 7 commits into
mainfrom
feature/trip-editor-geocode-search-add

Conversation

@stef-k
Copy link
Copy Markdown
Owner

@stef-k stef-k commented May 11, 2026

Summary

  • Added authenticated Trip Editor geocode search proxy.
  • Added Nominatim provider behind backend abstraction.
  • Browser calls only same-origin /api/trips/{tripId}/editor/geocode/search.
  • Added app-wide rate limiting, short cache, deterministic provider status mapping, attribution, User-Agent/Referer handling, and caller cancellation propagation.
  • Removed fake geocode contact identity; default geocode User-Agent is plain Wayfarer/1.0, configured TripEditorGeocode:NominatimUserAgent wins.
  • Updated shadow search-add targeting so shadow/unassigned region is not targetable.
  • Added map search UI with explicit Search/Enter trigger, no request on typing, abort/stale-response handling, result states, preview marker, and cleanup.
  • Added search-add draft workflow using explicit normal-region selector and existing Add Place draft path.
  • Add as place populates name/address/location, keeps default icon/color, sets reverseGeocode false, and does not save until Save Place.

Closes #262

Scope exclusions

  • no browser-direct Nominatim/external provider calls
  • no reverse-geocode save behavior changes
  • no unrelated area/place/segment behavior changes
  • no marker drag
  • no final cutover
  • no legacy behavior changes
  • no mobile/API token contract changes

Validation

  • in-flight Search blocker fixed in ec7d59e
  • latest GitHub checks passed
  • dotnet build passed, existing ASP0000 warning only
  • dotnet test tests/Wayfarer.Tests/Wayfarer.Tests.csproj --filter TripEditor passed, 158 tests
  • full dotnet test passed earlier in branch, 1588 tests
  • npm run build passed
  • npx playwright test --config=playwright.config.ts --list passed, 57 tests listed
  • focused map-search Playwright spec passed earlier in branch, 8/8
  • full npm run test:e2e:trip-editor passed earlier in branch, 56 passed / 1 skipped
  • final local browser E2E was not run because ASP.NET/Vite were unavailable in the final review session
  • LOC checker passed with accepted warnings
  • rg "window\.confirm" no matches
  • rg "\bconfirm\(" reviewed shared confirm usages only
  • browser-direct provider scan found no Trip Editor frontend direct external provider calls
  • git diff --check origin/main...HEAD passed

Note

  • noreply@wayfarer.app remains only in pre-existing tile-provider code/tests, not in geocode code/options/tests.
  • The one E2E skip is the existing fixture-dependent sidebar shadow-child check.

@stef-k
Copy link
Copy Markdown
Owner Author

stef-k commented May 11, 2026

Final pre-merge review after ec7d59e:

  • No blocking findings remain after the in-flight Search fix in ec7d59e.
  • GitHub checks passed.
  • Full/focused browser E2E passed earlier in the branch; final local browser E2E rerun was unavailable because ASP.NET/Vite were not available in the final review session.
  • Scope remained geocode proxy/search-add only.
  • Confirmed no browser-direct Nominatim/external provider calls and no fake provider contact identity in the geocode implementation.

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.

[Design/Handoff][Trip Editor]: Geocode search provider and search-add workflow

1 participant