Skip to content

client: accept GC re-invites for an existing local GC#771

Open
karamble wants to merge 1 commit into
companyzero:masterfrom
karamble:fix-gc-dropped-reinvite
Open

client: accept GC re-invites for an existing local GC#771
karamble wants to merge 1 commit into
companyzero:masterfrom
karamble:fix-gc-dropped-reinvite

Conversation

@karamble

Copy link
Copy Markdown

handleGCInvite rejected any RMGroupInvite for a GC that already exists locally, storing nothing and firing no notification, so a stale local GC copy (e.g. after restoring an old backup) could never be recovered. This stores the invite and notifies even when the GC exists; the stale roster is refreshed by the normal RMGroupList update (maybeUpdateGC) once the invite is accepted, which already verifies the senders admin permission and rejects generation backtracks.

Passes the existing client GC e2e suite (internal/e2etests/gc_test.go).

Closes #770

handleGCInvite rejected any RMGroupInvite for a GC that already exists locally, storing nothing and firing no notification, so a stale local GC copy (e.g. after restoring an old backup) could never be recovered: the admin re-adds the user by re-inviting, but the invite was always dropped. Store the invite and notify even when the GC exists. The stale roster is refreshed by the normal RMGroupList update (maybeUpdateGC) once the invite is accepted, which already verifies the sender's admin permission and rejects generation backtracks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

client: GC re-invite for an already-joined GC is silently dropped

1 participant