Pre-release preview of the MeshCore per-source effort (slices 1–4 of the per-node-source rework, formerly PRs #2954, #2955, #2957, #2958).
What's in it
- Per-source MeshCoreManager + registry — singleton replaced by
Map<sourceId, MeshCoreManager> - Schema — migration 056 adds
sourceIdtomeshcore_nodes/meshcore_messages(legacy rows backfilled to a default source) - Source config — companion-USB v1:
{ transport: 'usb', port, deviceType: 'companion', pubkey? }; identity keyed by handshake pubkey, not port path - AutoConnect — MeshCore companions now wired into the source autoConnect path
- Routes — nested under
/api/sources/:id/meshcore/* - Permissions — global
meshcoreresource collapsed into the per-source set (connection,configuration,nodes,nodes_private,messages); migration mirrors what 033 did for Meshtastic - Frontend — per-source MeshCore UI
Out of scope (v1 / not in this build)
- BLE / TCP transports for MeshCore companions
- Repeater text-CLI source path (Phase 5, deferred)
- Standalone MeshCore tab is still present; will be dropped once parity is validated
- Per-channel
mc_channel_Npermission resources
Status
Preview only — no production PR open yet. Use for validation against real companion-USB hardware before the combined PR lands.