- GetAllDeviceDetails, GetDevicesWithoutConnections, GetDevicesWithoutTowers
now pass nil geocoder to avoid Nominatim calls on list requests.
This reduces GET /device-details response time from ~2 minutes to <1s.
- Added sync.Map cache to nominatimGeocoder so repeated calls for the
same coordinates (e.g. GetDeviceDetailsByID) hit cache instead of
Nominatim, preventing HTTP 429 rate limit errors.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>