Skip to content

Port to matrix-rust-sdk-crypto #820

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

Draft
wants to merge 52 commits into
base: dev
Choose a base branch
from
Draft

Conversation

TobiasFella
Copy link
Member

@TobiasFella TobiasFella commented Oct 26, 2024

TODO:

  • Test "all" possible verification scenarios
  • Retry decrypting events once a new key has arrived
  • Store new keys to backup
  • Load keys from backup
  • migration from current database to rust-sdk database (?)
  • Clean up code, TODOs
  • Check against NeoChat for missing functionality

@TobiasFella TobiasFella force-pushed the tobias/rust-sdk-crypto branch 3 times, most recently from 2bf6831 to f01f524 Compare November 4, 2024 21:12
@TobiasFella TobiasFella force-pushed the tobias/rust-sdk-crypto branch 3 times, most recently from 0796120 to c76e066 Compare November 8, 2024 21:21
@TobiasFella TobiasFella force-pushed the tobias/rust-sdk-crypto branch 4 times, most recently from a07274a to 8c33951 Compare November 16, 2024 12:31
@TobiasFella TobiasFella force-pushed the tobias/rust-sdk-crypto branch 2 times, most recently from 453f6cc to 8e4ad29 Compare November 28, 2024 21:28
@TobiasFella TobiasFella force-pushed the tobias/rust-sdk-crypto branch 14 times, most recently from 214ccab to d3814ed Compare December 14, 2024 12:06
@TobiasFella TobiasFella force-pushed the tobias/rust-sdk-crypto branch 2 times, most recently from 0c7f343 to b300831 Compare December 14, 2024 12:33
@TobiasFella TobiasFella force-pushed the tobias/rust-sdk-crypto branch 2 times, most recently from 0f8fc8b to fea61b9 Compare December 29, 2024 21:38
TobiasFella and others added 23 commits April 15, 2025 20:43
Also, use GitHub Actions to pre-calculate Sonar's build wrapper
invocation string.
Looks like QHash with its original iterators is not-quite a std::range.
Because RoomStateView inherits privately from QHash, GCC cannot get to
QHash::begin() from outside the class when checking it against range
concepts. Not sure it's actually the correct behaviour - but my C++-fu
is not sufficient to figure out. Merely using events() that returns a
reference to the underlying QHash should suffice.
It's not a system header.
Along with this, introduce fromRustJson() that wraps around the frequent
`fromJson<>(jsonFromRust(...))` stack of calls.
(cherry picked from commit 47a8f5e)
KitsuneRal added 6 commits May 2, 2025 18:50
That was the way before, and there's nothing preventing us from keeping
it like this. The Rust part still accepts it Base64-encoded.
The former onSyncSuccess() function is not really handling sync success,
so its new name is processSyncData(); and onSyncSuccess() is now
literally the handler of SyncJob::success() signal.
Both were needed to interface with Olm; CStructPtr just has no place
with matrix-rust-crypto-sdk, and viewAsByteArray() is superceded by
bytesFromRust() because we can't borrow the buffer allocated in Rust and
it's unsafe to use it without borrowing (rust::String is not meant to
last for long).
Requires newer cxx-bridge that models rust::Slice as
std::ranges::contiguous_range.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement A feature or change request for the library
Projects
Status: In work
Development

Successfully merging this pull request may close these issues.

2 participants