-
Notifications
You must be signed in to change notification settings - Fork 49
Support to export into libolm pickles #95
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
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportBase: 87.58% // Head: 88.16% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #95 +/- ##
==========================================
+ Coverage 87.58% 88.16% +0.58%
==========================================
Files 32 32
Lines 1603 1724 +121
==========================================
+ Hits 1404 1520 +116
- Misses 199 204 +5
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
e22170d to
cbae68b
Compare
|
We also need to update the README to remove the notice that libolm pickle support is "read-only". |
|
Is there anything blocking this or something I could help to push this forward? I would like to support both libolm and vodozemac for a while in our SDK and if it was possible to switch between both, that would make a few things easier until we migrate away from libolm entirely. |
I think it's just a lack of time due to a FOSDEM crunch. Beware that the transition from libolm to vodozemac is losless, but vodozemac has larger buffers for one-time keys and some other objects. This makes the transition from vodozemac back to libolm lossy. |
Yes, I am aware and partially documented it already internally. We generally wouldn't want to transition back, but we want to somewhat gracefully handle the cases where someone might start an older version of the app and similar for a while.
Okay, that sounds absolutely fair. I was mostly just thinking this would be useful for me during the migration and wanted to make sure it couldn't use some help. Thank you for the reply! |
c11818d to
b477b9f
Compare
|
Any chance of merging this? I'm thinking of switching mautrix-python to use vodozemac, but the database needs to remain compatible with mautrix-go, which uses libolm or goolm. Longer term goolm could get vodozemac pickling support, but probably won't happen in the near future |
|
Let's see if I can resurrect this PR. |
b477b9f to
1f7b126
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #95 +/- ##
==========================================
+ Coverage 90.64% 91.03% +0.38%
==========================================
Files 34 34
Lines 4940 5154 +214
Branches 4940 5154 +214
==========================================
+ Hits 4478 4692 +214
+ Misses 297 292 -5
- Partials 165 170 +5 ☔ View full report in Codecov by Sentry. |
CodSpeed Performance ReportMerging #95 will not alter performanceComparing Summary
|
66723c2 to
591d691
Compare
591d691 to
470ab7d
Compare
|
Alright, the PR is ready for review, that being said:
This isn't a particularly great idea, since the conversion to a libolm pickle will always be a lossy operation. One of the reasons for this is because vodozemac can store much more one-time keys compared to libolm. |
|
I assume it'll throw away the same keys that libolm would've thrown away at generation time? (as in the behavior is exactly the same either way) I shouldn't have any need for more than 100 one-time keys nor more than 2 billion messages in an olm session |
No description provided.