Skip to content

feat(mls/database): add AddMissingInstallations Task variant - #341

Merged
insipx merged 1 commit into
mainfrom
insipx/add-missing-installations-task
Jul 24, 2026
Merged

feat(mls/database): add AddMissingInstallations Task variant#341
insipx merged 1 commit into
mainfrom
insipx/add-missing-installations-task

Conversation

@insipx

@insipx insipx commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Adds an AddMissingInstallations { bytes group_id } variant (oneof tag 7) to xmtp.mls.database.Task, mirroring ProcessPendingSelfRemove.

Used by libxmtp's device-sync worker: when a sync-group welcome signals a new installation, the worker enqueues one durable task per eligible group to reconcile membership with the inbox's latest identity state, retried with backoff on the TaskRunner — replacing a one-shot inline add whose failures were silently dropped (root cause of the DeviceSync sendSyncRequest CI flake).

Must merge before xmtp/libxmtp#3897, which currently carries hand-written generated code for this variant and will repin proto_version + regen once this lands. Field numbers are wire-pinned by persisted task rows in libxmtp (oneof tag 7, group_id field 1) — do not renumber.

🤖 Generated with Claude Code

Note

Add AddMissingInstallations task variant to MLS database task proto

Adds a new AddMissingInstallations oneof variant (field 7) to the Task message in task.proto. The accompanying AddMissingInstallations message carries a bytes group_id field identifying the target conversation for reconciling group membership with the latest identity state.

Macroscope summarized fe2f9e4.

Durable TaskRunner intent used by libxmtp's device-sync worker: when a
sync-group welcome signals a new installation, one task per eligible group
reconciles membership with the inbox's latest identity state, retried with
backoff instead of a one-shot inline add (xmtp/libxmtp#3897).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@insipx
insipx requested a review from a team as a code owner July 24, 2026 16:32
@macroscopeapp

macroscopeapp Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Additive protobuf schema change that adds a new Task variant and message type. The change is backwards-compatible, introduces no runtime behavior changes to existing code, and the author owns this file.

You can customize Macroscope's approvability policy. Learn more.

@insipx

insipx commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Consumer PR (blocked on this one): xmtp/libxmtp#3897 — verified dev/gen_protos.sh output from this branch is byte-identical to the code shipped there.

🤖 Generated with Claude Code

@insipx
insipx merged commit a9b4d56 into main Jul 24, 2026
7 checks passed
@insipx
insipx deleted the insipx/add-missing-installations-task branch July 24, 2026 18:53
insipx added a commit to xmtp/libxmtp that referenced this pull request Jul 24, 2026
…ngInstallations

xmtp/proto#341 merged (a9b4d561); dev/gen_protos.sh from that rev produces
zero diff against the checked-in generated files — only the pin moves.
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 3.94.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

insipx added a commit to xmtp/libxmtp that referenced this pull request Jul 24, 2026
…ngInstallations

xmtp/proto#341 merged (a9b4d561); dev/gen_protos.sh from that rev produces
zero diff against the checked-in generated files — only the pin moves.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants