Page MenuHomePhabricator

[native] implement getOutboundKeys method in CommRustModule
ClosedPublic

Authored by varun on Oct 2 2023, 8:05 PM.
Tags
None
Referenced Files
F3585047: D9346.id32261.diff
Sun, Dec 29, 6:32 PM
Unknown Object (File)
Thu, Dec 26, 12:17 PM
Unknown Object (File)
Thu, Dec 26, 8:50 AM
Unknown Object (File)
Wed, Dec 25, 2:06 AM
Unknown Object (File)
Wed, Dec 25, 2:06 AM
Unknown Object (File)
Wed, Dec 25, 2:06 AM
Unknown Object (File)
Wed, Dec 25, 2:06 AM
Unknown Object (File)
Wed, Dec 25, 2:01 AM
Subscribers

Details

Summary

we need to get the keyserver's keys to set up an Olm session on the client.

Depends on D9345

Test Plan

successfully retrieved my local keyserver's keys by calling the CommRustModule method from js

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

varun requested review of this revision.Oct 2 2023, 8:24 PM
kamil requested changes to this revision.Oct 3 2023, 11:05 AM

I have some questions, if those don't make sense I'll try to unblock this as soon as possible

lib/types/identity-service-types.js
11

based on Rust types it's more like +socialProof: ?string but don't have a strong opinion on that

16–17

Why this is not defined in the Rust struct? If this is different than struct OutboundKeyInfoResponse shouldn't be named differently to avoid confusion?

native/native_rust_library/src/lib.rs
652

After looking on master this method is still not implemented, and don't see this in the stack - so not really sure how it was tested. Am I missing something?

659

this is really confusing, isn't get() a better option?

native/schema/CommRustModuleSchema.js
54

Based on Rust code looks like identifierType can have only two values, walletAddress and username, is that correct?

If yes - probably it will be safe to force those two types in Flow, so it should be identifierType: 'walletAddress' | 'username',.

I don't know but guessing codegen can't handle type unions - if that's true you can use a trick we use in different schemas with type for codegen and type exported for Flow, see UtilsModuleSpec.

This revision now requires changes to proceed.Oct 3 2023, 11:05 AM

address feedback

lib/types/identity-service-types.js
11

makes sense

16–17

fixed, thanks

native/native_rust_library/src/lib.rs
652

sorry, meant to put that diff up first. it's up now as you've already seen :)

659

we actually use this pattern a lot because get() only returns a reference. i'd prefer that we continue this way

native/schema/CommRustModuleSchema.js
54

Looks good to me, thanks for addressing all comments

native/native_rust_library/src/lib.rs
659

ahh right, looks good then

This revision is now accepted and ready to land.Oct 9 2023, 1:00 AM