Skip to content
This repository was archived by the owner on Aug 15, 2025. It is now read-only.

Commit 5375817

Browse files
committed
emphasize danger, add notes on active_migration payload
1 parent f32acc2 commit 5375817

File tree

1 file changed

+30
-7
lines changed
  • docs/Protocol Specifications

1 file changed

+30
-7
lines changed

docs/Protocol Specifications/core.md

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ message re-signing process which can be resumed.
325325

326326
!!! danger
327327

328-
User-operated clients must not automatically continue
328+
User-operated clients **must not** automatically continue
329329
re-signing messages when receiving this property with a `true` value. Instead, the user should be
330330
prompted whether they intend to continue re-signing messages. The reason for this is that servers
331331
could theoretically send this property even though the user has not previously enabled re-signing
@@ -338,17 +338,40 @@ message re-signing process which can be resumed.
338338
"n": "core",
339339
"op": 1,
340340
"d": {
341-
"heartbeat_interval": 45000
341+
"heartbeat_interval": 45000,
342+
"active_migration": {
343+
"messages_left": "1413",
344+
"confirmed_keys": ["2958364756734892245", "5167892139244614332", "..."],
345+
"unconfirmed_keys": ["192346785523467891", "52345678924536789", "..."],
346+
"target": "[email protected]",
347+
"source": "[email protected]"
348+
},
342349
},
343350
"s": 0
344351
}
345352
```
346353

347-
<!-->// TODO maybe resigning_active should be an object containing information about which keys are allowed for re-signing, and which keys still need confirmation<-->
348-
| Field | Type | Description |
349-
| -------------------- | -------- | --------------------------------------------------------------------------------------------------------------------- |
350-
| `heartbeat_interval` | uint32 | Interval in milliseconds at which the client should send heartbeat events to the server. |
351-
| `resigning_active` | boolean? | If present and `true`, indicates that there is an unfinished message re-signing process active, which can be resumed. |
354+
<!-->
355+
Serveral issues:
356+
357+
target or source need to present to give users an idea about who the migration is for. ideally, the
358+
signatures of these actions are also included for safety. needs to be ux friendly regardless!
359+
360+
if target is present, then present list of confirmed/unconfirmed keys
361+
362+
if source is present, other information needs to be displayed
363+
364+
i am eepy
365+
<-->
366+
367+
| Field | Type | Description |
368+
| ----------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
369+
| `heartbeat_interval` | uint32 | Interval in milliseconds at which the client should send heartbeat events to the server. |
370+
| `active_migration` | object? | If present indicates that there is an unfinished message re-signing process active, which can be resumed. Contains information about this process. |
371+
| \|__ `messages_left` | uint64 | An estimate of how many messages are currently left to be re-signed. Integers are transferred as |
372+
| \|__ `confirmed_keys` | array[uint64] | An array containing the serial numbers of keys, for which a key trial has already been performed successfully. |
373+
| \|__ `unconfirmed_keys` | array[uint64] | An array containing the serial numbers of keys, for which a key trial has not yet been performed successfully. |
374+
| \|__ `target` | string? | Either this field or `source` is present, never both. |
352375

353376
##### 3.2.3.2 Identify event
354377

0 commit comments

Comments
 (0)