Mixed UUID and E164 addresses lead to unreceivable messages and corrupted sessions: a received message would trigger the creation of a UUID record, and sending a message would create a parallel E164 record. This set of patches aims to fix this bug.
This therefore fixes #80 (closed)
-
Use the strongly typed ServiceAddress
in libsignal-service, merge upstream. -
Database migrations #39 (closed) !101 (merged) -
Add a column to store the source UUID. A full database schema clean-up is only planned by %v1.0.0: cleaned and refactored, but this means we also need to: -
Clean-up the database schema a bit, to support and use the pure auto-generated schema.rs
. -
Consider making a custom UUID type in SQLite that simply encapsulates a TEXT, for even better type checking. #276 (closed) -
Create some dummy data in an integration test to check whether migrations actually work. -
Messages in groups (both sending and receiving) -
Messages in 1:1 sessions (both sending and receiving)
-
-
-
Force-migration of UUID -
The(!63 (merged))whoami
-call, to update the local UUID config -
Profile fetching on existing sessions -
On sending a message, fill the whole SenderAddress
struct
-
-
Ensure all sessions get correctly deleted on EndSession #114 (closed) -
We can at once solve https://gitlab.com/rubdos/whisperfish/-/issues/74 (patch out the quirks) by storing e164 sessions quirked, but storing new UUID sessions un-quirked.