Qabel / qabel-desktop

(B2C) :computer: Desktop frontend of Qabel
Other
11 stars 12 forks source link

Contacts that are identities vanish #487

Closed julianseeger closed 7 years ago

julianseeger commented 7 years ago

Two identities on one desktop client: Alice & Bob

1 Upload Alice to the index server 2 select bob 3 search alice on the index server (as bob) 4 assign alice (contact) to bob (identity) 5 select alice as the active identity 6 select bob as the active identitiy => alice is no longer in bobs contact list (even though it was after step 4)

Don't know what happens if the imported contact is not an identity, too

audax commented 7 years ago

Should be fixed in the core in 0.25.3, there was a similar bug in the android client: https://github.com/Qabel/qabel-android/issues/681

julianseeger commented 7 years ago

still exists with 0.25.3 Edit: when selecting alice in step 5, the identity_contacts entry (identity=bob,contact=alice) is removed from the database Edit2: crazy stacktrace: a) on selecting the identity, the identity is saved (whyever...) b) the SqliteIdentityRepository has a beforeUpdate method that updates the contact of that identity c) updating the contact does contactRepository.update(contact, emptyList()) d) which means remove all connections to that contact and add those connections: []

wow ... there is no update(contact) method in the contactRepository interface so I guess the author just went the easiest way and took the existing update method with a close-to-null argument o.O