Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow PNI in PendingMember #329

Merged
merged 3 commits into from
Oct 18, 2024
Merged

Allow PNI in PendingMember #329

merged 3 commits into from
Oct 18, 2024

Conversation

rubdos
Copy link
Member

@rubdos rubdos commented Oct 12, 2024

Should fix #328

The other member decryption functions are ACI-only (which makes sense). I double-checked this.

@gferon, @boxdot, I have removed Serialize and Deserialize bounds on some structs. These were in place because Presage stores those structs directly in its database, but I don't think that is correct behavior. libsignal-service exposes those structs without any forward or backward compatibility guarantees, as illustrated in here: the uuid field is dropped in favor of the service_id field. Migration should be handled by the storage backend. Same reasoning goes for #324.

@rubdos
Copy link
Member Author

rubdos commented Oct 12, 2024

Adding some more convenience methods and refactoring to this, while I'm implementing the changes in WF.

@rubdos rubdos requested a review from gferon October 14, 2024 08:22
@rubdos rubdos merged commit 026d751 into main Oct 18, 2024
6 checks passed
@rubdos rubdos deleted the group-updates branch October 18, 2024 06:53
@gferon
Copy link
Collaborator

gferon commented Oct 19, 2024

exposes those structs without any forward or backward compatibility guarantees

I just realized that while this statement is true, it's not really a big deal for data that's transient or can be re-fetched when invalidated (which is the case for groups).

@rubdos
Copy link
Member Author

rubdos commented Oct 20, 2024

I just realized that while this statement is true, it's not really a big deal for data that's transient or can be re-fetched when invalidated (which is the case for groups).

Sure, but a big point of Signal is to rely as little as possible on state stored on the server. I don't think a "low-level" library like lss should facilitate that kind of "unorthodox behavior".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Group decryption fails due PNI pending member
2 participants