diff --git a/app/fanout/AGENTS_fanout.md b/app/fanout/AGENTS_fanout.md index 3285319..ac3ece9 100644 --- a/app/fanout/AGENTS_fanout.md +++ b/app/fanout/AGENTS_fanout.md @@ -144,8 +144,8 @@ Amazon SQS delivery. Config blob: - Supports both decoded messages and raw packets via normal scope selection ### map_upload (map_upload.py) -Uploads heard repeater and room-server advertisements to map.meshcore.dev. Config blob: -- `api_url` (optional, default `""`) — upload endpoint; empty falls back to the public map.meshcore.dev API +Uploads heard repeater and room-server advertisements to map.meshcore.io. Config blob: +- `api_url` (optional, default `""`) — upload endpoint; empty falls back to the public map.meshcore.io API - `dry_run` (bool, default `true`) — when true, logs the payload at INFO level without sending - `geofence_enabled` (bool, default `false`) — when true, only uploads nodes within `geofence_radius_km` of the radio's own configured lat/lon - `geofence_radius_km` (float, default `0`) — filter radius in kilometres diff --git a/app/fanout/map_upload.py b/app/fanout/map_upload.py index 31ae5fd..4256d29 100644 --- a/app/fanout/map_upload.py +++ b/app/fanout/map_upload.py @@ -1,6 +1,7 @@ -"""Fanout module for uploading heard advert packets to map.meshcore.dev. +"""Fanout module for uploading heard advert packets to map.meshcore.io. -Mirrors the logic of the standalone map.meshcore.dev-uploader project: +Mirrors the logic of the standalone map.meshcore.dev-uploader project +(historical name; the live service is now hosted at map.meshcore.io): - Listens on raw RF packets via on_raw - Filters for ADVERT packets, only processes repeaters (role 2) and rooms (role 3) - Skips nodes with no valid location (lat/lon None) @@ -16,7 +17,7 @@ the raw hex link. Config keys ----------- api_url : str, default "" - Upload endpoint. Empty string falls back to the public map.meshcore.dev API. + Upload endpoint. Empty string falls back to the public map.meshcore.io API. dry_run : bool, default True When True, log the payload at INFO level instead of sending it. geofence_enabled : bool, default False @@ -46,7 +47,7 @@ from app.services.radio_runtime import radio_runtime logger = logging.getLogger(__name__) -_DEFAULT_API_URL = "https://map.meshcore.dev/api/v1/uploader/node" +_DEFAULT_API_URL = "https://map.meshcore.io/api/v1/uploader/node" # Re-upload guard: skip re-uploading a pubkey seen within this window (AU parity) _REUPLOAD_SECONDS = 3600 diff --git a/frontend/src/components/settings/SettingsFanoutSection.tsx b/frontend/src/components/settings/SettingsFanoutSection.tsx index 2dc6d51..7b02c5d 100644 --- a/frontend/src/components/settings/SettingsFanoutSection.tsx +++ b/frontend/src/components/settings/SettingsFanoutSection.tsx @@ -325,7 +325,7 @@ const CREATE_INTEGRATION_DEFINITIONS: readonly CreateIntegrationDefinition[] = [ label: 'Map Upload', section: 'Community Sharing', description: - 'Upload repeaters and room servers to map.meshcore.dev or a compatible map API endpoint.', + 'Upload repeaters and room servers to map.meshcore.io or a compatible map API endpoint.', defaultName: 'Map Upload', nameMode: 'counted', defaults: { @@ -1668,12 +1668,12 @@ function MapUploadConfigEditor({
Automatically upload heard repeater and room server advertisements to{' '}
- map.meshcore.dev
+ map.meshcore.io
. Requires the radio's private key to be available (firmware must have{' '}
ENABLE_PRIVATE_KEY_EXPORT=1). Only raw RF packets are shared — never
@@ -1710,12 +1710,12 @@ function MapUploadConfigEditor({
onChange({ ...config, api_url: e.target.value })}
/>
- Leave blank to use the default map.meshcore.dev endpoint.
+ Leave blank to use the default map.meshcore.io endpoint.