Skip to content

fix(node): restore group endpoint mappings at startup - #4055

Merged
mergify[bot] merged 1 commit into
mainfrom
fix/restore-group-endpoints-on-startup
Jul 10, 2026
Merged

fix(node): restore group endpoint mappings at startup#4055
mergify[bot] merged 1 commit into
mainfrom
fix/restore-group-endpoints-on-startup

Conversation

@Apollon77

Copy link
Copy Markdown
Collaborator

Problem

GroupKeyManagementServer#online() restores the group key sets and the group key map from persisted state, but not the runtime endpoint map derived from the persisted groupTable — that only happens in the fabric-replace handler. After a node restart:

  • group multicast messages are still received and decrypted (the key map is restored),
  • but group command dispatch expands over session.subject.endpointsfabric.groups.endpoints, which is empty — commands to previously configured groups are silently not dispatched,
  • BindingManager group-member lookups come up empty as well,

until a fresh AddGroup repopulates the map. CI never restarts a configured node mid-test, so this went unnoticed.

Fix

Rebuild fabric.groups.endpoints from the persisted groupTable for every loaded fabric at startup, mirroring the existing key-map restore.

Found during the Groupcast branch (#3298) final review; this part is legacy-relevant independent of Groupcast and applies to the Matter 1.6.0 line.

🤖 Generated with Claude Code

GroupKeyManagement restored group key sets and the group key map from
persisted state at startup, but not the runtime endpoint map derived
from the group table. Group commands to persisted groups were silently
not dispatched after a restart (and binding group-member lookups came
up empty) until an AddGroup command repopulated the map.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 10, 2026 15:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Restores runtime group→endpoint mappings (fabric.groups.endpoints) from persisted groupTable during GroupKeyManagementServer#online(), so group command dispatch and group-member lookups continue to work after a node restart.

Changes:

  • Rebuild fabric.groups.endpoints at startup by iterating the persisted groupTable.
  • Ensure restored mappings are populated per-fabric only when that fabric exists.

@Apollon77 Apollon77 added the automerge Set this label if the PR is ready to automatically merged after approval label Jul 10, 2026
@mergify
mergify Bot merged commit fd65e98 into main Jul 10, 2026
45 checks passed
@mergify
mergify Bot deleted the fix/restore-group-endpoints-on-startup branch July 10, 2026 16:12
@mergify

mergify Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge Set this label if the PR is ready to automatically merged after approval

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants