Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions proto/mls/database/task.proto
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ message Task {
KpRotation kp_rotation = 5;
KpDeletion kp_deletion = 6;
AddMissingInstallations add_missing_installations = 7;
KpLiveness kp_liveness = 8;
}
}

Expand All @@ -38,6 +39,19 @@ message KpRotation {}
// delete_at_ns has passed. Empty payload => stable data_hash for pull-ins.
message KpDeletion {}

// Recurring singleton: verify that THIS installation still has a usable key
// package published on the network, and queue a rotation when it does not.
//
// Distinct from KpRotation on purpose. Rotation is driven by a local deadline
// column; if that column is ever wrong the client stops rotating, its published
// key package expires, and it becomes permanently unreachable (added to groups
// only as a failed installation, so it never receives a welcome and never gets
// the welcome-driven rotation nudge either) without observing any local error.
// Liveness is the independent watchdog for that closed loop: its own schedule,
// its own retry/backoff, and a network probe rather than a local deadline as
// its source of truth. Empty payload => stable data_hash for pull-ins.
message KpLiveness {}

message SendSyncArchive {
xmtp.device_sync.ArchiveOptions options = 1;
bytes sync_group_id = 2;
Expand Down
Loading