Skip to content

WPB-29949: heal ghost MLS member-client rows from the ratchet tree - #5708

Open
blackheaven wants to merge 5 commits into
developfrom
gdifolco/WPB-29949-mls-ghost-client
Open

blackheaven wants to merge 5 commits into
developfrom
gdifolco/WPB-29949-mls-ghost-client

Conversation

@blackheaven

Copy link
Copy Markdown
Contributor

https://wearezeta.atlassian.net/browse/WPB-29949

Checklist

  • Add a new entry in an appropriate subdirectory of changelog.d
  • Read and follow the PR guidelines

@blackheaven
blackheaven requested review from a team as code owners November 10, 2026 16:27
@zebot zebot added the ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist label Nov 10, 2026
@blackheaven
blackheaven force-pushed the gdifolco/WPB-29949-mls-ghost-client branch 3 times, most recently from 38284f6 to ef2b039 Compare November 13, 2026 11:10
Ghost clients (mls_group_member_client rows lost to the external-commit
re-join race fixed in WPB-29648) left affected MLS groups permanently
stuck: the client could send but never received fan-out, and remove/re-add
failed with 400 mls-invalid-leaf-node-index because the ghost's leaf was
absent from galley's IndexMap.
@blackheaven
blackheaven force-pushed the gdifolco/WPB-29949-mls-ghost-client branch from ef2b039 to 9995a2b Compare November 13, 2026 13:01
The first commit of a conversation includes the sender in the Add action,
so galley checks that all of alice's MLS-capable clients are covered. An
already-registered key package for the non-member client alice2 made that
check fail with 409 mls-client-mismatch. Upload alice2's key package right
before her external commit instead, and give bob1 two key packages so the
final re-add can still claim one.
setClientGroupState bob1 def also wiped the mls-cli keystore holding
bob1's registered signature key, so the re-add key package was generated
with a fresh identity key and brig rejected it with 400 'Unrecognised
signature key'. Reset only the group state.

This branch has not been deployed

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

Labels

ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants