Skip to content

Rebuild Endpoint Map warning overstates what the action does #132

Description

@simons-plugins

The Rebuild Matter Endpoint Map… dialog and log warn that rebuilding will duplicate accessories in already-paired ecosystems. It cannot.

rebuild() reads the live endpoint set and records their current numbers as the new baseline. It never renumbers an endpoint, so it cannot itself change what any ecosystem sees. The duplication risk belongs to the drift event that already happened — rebuilding only stops reporting it.

Observed live 2026-08-06: after a last-fabric factory reset and a fresh pairing, one stale map entry drifted (indigo-459564566 expected 5, live 2). The map was the wrong party; reality was correct; rebuilding was the right and harmless action — but the dialog reads as though it is about to break the house.

Reword to distinguish the two cases:

  • the map disagrees with reality because reality legitimately moved (post-reset) → adopting is correct and harmless
  • the map disagrees because storage was lost and ecosystems still hold the old numbers → the accessories are already duplicated; rebuilding accepts that rather than causing it

Files: Server Plugin/MenuItems.xml (the dialog text), plugin.py:menuRebuildEndpointMap, bridge-node/src/endpoint-map.ts:rebuild, and the matching passage in docs/INSTALL.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions