feat(contacts): add reverse geocoding for node locations#238
Open
feat(contacts): add reverse geocoding for node locations#238
Conversation
Add City, State display for nodes that advert with GPS location enabled. Uses Apple Maps CLGeocoder with an actor-based cache that persists to disk, so lookups survive app restarts and avoid redundant network calls. Requests are queued sequentially to respect CLGeocoder's single-request limitation. - Add ReverseGeocodeCache actor with disk persistence and sequential queue - Show "City, ST · n hops" in contact row subtitle - Show "City, ST · n miles away" in contact detail profile - Add geocoding toggle in Settings > Location with explanatory footer - When disabled, cached lookups still display but no new network requests - Fix singular/plural for hop/hops - Remove green location icon from contact rows (replaced by city/state) - Remove redundant contact type label from detail profile (already in nav title) - Remove top whitespace in contact detail view Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Distance away is already shown in the contact detail view, so it's redundant in the compact row. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
ReverseGeocodeCache.swift— actor-based geocode cache with disk persistence and sequential request queueGeocodingSettingsSection.swift— toggle + explanatory footer in Settings > LocationContactRowView.swift— shows "City, ST · n hops" in subtitle, singular/plural hop fixContactDetailView.swift— shows "City, ST · n miles away" under contact name, star/blocked moved inline with nameLocationSettingsView.swift— includes new geocoding sectionContacts.strings/Settings.strings/L10n.swift— new localization stringsTest plan
🤖 Generated with Claude Code