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

Add support for ACI/PNI #206

Closed
gferon opened this issue Mar 9, 2023 · 2 comments · Fixed by #285
Closed

Add support for ACI/PNI #206

gferon opened this issue Mar 9, 2023 · 2 comments · Fixed by #285
Assignees

Comments

@gferon
Copy link
Collaborator

gferon commented Mar 9, 2023

Since we don't support PNI yet, we might want to ACK the messages we receive to avoid seeing them in the loop all the time.

Maybe this is a bad idea and we should spend effort implementing it instead.

@rubdos
Copy link
Member

rubdos commented Mar 9, 2023

We should probably start implementing the interface instead of just ignoring messages.

@gferon gferon changed the title ACK PNI messages Add support for ACI/PNI Apr 22, 2023
@gferon gferon self-assigned this Apr 22, 2023
@gferon
Copy link
Collaborator Author

gferon commented May 2, 2023

Note: basic support for making sure we have a PNI UUID is in place, but we currently hardcode the use of ServiceIdType::AccountIdentity in a bunch of helper methods like update_pre_key_bundle. Fully supporting PNI requires having two separate implementations of the ProtocolStore that end up storing a separate key-pair, sessions as well as pre-keys.

@rubdos I think a good way to do this would be to add our own ProtocolStore trait (or AccountStore?) that has two methods: aci_protocol_store and pni_protocol_store. That way, we could have functions only take a ServiceIdType as a parameter, and mimick what is done in Signal-Android. Design wise, we can really think of whatever works best (and helps us avoid adding more type parameters).

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 a pull request may close this issue.

2 participants