Implement sealed sending/unidentified sending
Currently based on !393 (merged), will rebase after that's finished.
Fixes #463 (closed) and #95 (closed) and #461 (closed)
Requires https://github.com/whisperfish/libsignal-service-rs/pull/213
Will fix the huge amount of captcha's/428 lately (related to #535 (closed)).
TODO:
-
Group sync -
Figure out whether session reset is supposed to get through the unidentified socket -
Why didn't some sessions work? -
Delivery notifications shouldn't be sent using a delivery-requiring channel. Maybe that's it?
-
-
The unidentified sending does not use keep-alive, but we maybe want to keep it around, only reinstantiating it when it actually died. This is kinda difficult and basically requires fixing #84 and related first. -
Fallback to identified sending if unidentified access fails. This is imporant for testing out unknown/partially known contacts. -
Implement fallback in libsignal-service -
Report fallback to database, disable unidentified (when do we reenable? on profile updates?)
-
-
Store unrestricted sealed sending in db -
Reset unidentified field to Unknown on profile key change -
Implement ToSql for UnidentifiedAccessMode for convenience
Edited by Ruben De Smet