Skip to content

Conversation

@SimonThormeyer
Copy link
Member

@SimonThormeyer SimonThormeyer commented Dec 15, 2025

What's new in this PR

See above, corresponding jira item, and commit sequence


PR Submission Checklist for internal contributors
  • The PR Title
    • conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
    • contains a reference JIRA issue number like SQPIT-764
    • answers the question: If merged, this PR will: ... ³
  1. https://sparkbox.com/foundry/semantic_commit_messages
  2. https://github.com/wireapp/.github#usage
  3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.

@github-actions
Copy link

github-actions bot commented Dec 15, 2025

🐰 Bencher Report

Branchsimon/feat/credentials-in-conversation-api-WPB-19576
Testbedubuntu-latest

⚠️ WARNING: No Threshold found!

Without a Threshold, no Alerts will ever be generated.

Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the --ci-only-thresholds flag.

Click to view all benchmark results
BenchmarkLatencymicroseconds (µs)
Commit add f(group size)/cs1/mem/1002📈 view plot
⚠️ NO THRESHOLD
17,774.00 µs
Commit add f(group size)/cs1/mem/2📈 view plot
⚠️ NO THRESHOLD
786.43 µs
Commit add f(group size)/cs1/mem/202📈 view plot
⚠️ NO THRESHOLD
4,352.90 µs
Commit add f(group size)/cs1/mem/402📈 view plot
⚠️ NO THRESHOLD
7,815.70 µs
Commit add f(group size)/cs1/mem/602📈 view plot
⚠️ NO THRESHOLD
11,620.00 µs
Commit add f(group size)/cs1/mem/802📈 view plot
⚠️ NO THRESHOLD
14,578.00 µs
Commit add f(number clients)/cs1/mem/1002📈 view plot
⚠️ NO THRESHOLD
1,005,900.00 µs
Commit add f(number clients)/cs1/mem/2📈 view plot
⚠️ NO THRESHOLD
744.87 µs
Commit add f(number clients)/cs1/mem/202📈 view plot
⚠️ NO THRESHOLD
79,758.00 µs
Commit add f(number clients)/cs1/mem/402📈 view plot
⚠️ NO THRESHOLD
217,880.00 µs
Commit add f(number clients)/cs1/mem/602📈 view plot
⚠️ NO THRESHOLD
428,140.00 µs
Commit add f(number clients)/cs1/mem/802📈 view plot
⚠️ NO THRESHOLD
681,850.00 µs
Commit pending proposals f(group size)/cs1/mem/1002📈 view plot
⚠️ NO THRESHOLD
116,400.00 µs
Commit pending proposals f(group size)/cs1/mem/2📈 view plot
⚠️ NO THRESHOLD
22,880.00 µs
Commit pending proposals f(group size)/cs1/mem/202📈 view plot
⚠️ NO THRESHOLD
41,779.00 µs
Commit pending proposals f(group size)/cs1/mem/402📈 view plot
⚠️ NO THRESHOLD
57,605.00 µs
Commit pending proposals f(group size)/cs1/mem/602📈 view plot
⚠️ NO THRESHOLD
76,959.00 µs
Commit pending proposals f(group size)/cs1/mem/802📈 view plot
⚠️ NO THRESHOLD
93,065.00 µs
Commit pending proposals f(pending size)/cs1/mem/1📈 view plot
⚠️ NO THRESHOLD
16,956.00 µs
Commit pending proposals f(pending size)/cs1/mem/101📈 view plot
⚠️ NO THRESHOLD
115,830.00 µs
Commit pending proposals f(pending size)/cs1/mem/21📈 view plot
⚠️ NO THRESHOLD
34,970.00 µs
Commit pending proposals f(pending size)/cs1/mem/41📈 view plot
⚠️ NO THRESHOLD
56,111.00 µs
Commit pending proposals f(pending size)/cs1/mem/61📈 view plot
⚠️ NO THRESHOLD
74,678.00 µs
Commit pending proposals f(pending size)/cs1/mem/81📈 view plot
⚠️ NO THRESHOLD
95,230.00 µs
Commit remove f(group size)/cs1/mem/1002📈 view plot
⚠️ NO THRESHOLD
10,959.00 µs
Commit remove f(group size)/cs1/mem/2📈 view plot
⚠️ NO THRESHOLD
587.49 µs
Commit remove f(group size)/cs1/mem/202📈 view plot
⚠️ NO THRESHOLD
2,327.60 µs
Commit remove f(group size)/cs1/mem/402📈 view plot
⚠️ NO THRESHOLD
4,150.00 µs
Commit remove f(group size)/cs1/mem/602📈 view plot
⚠️ NO THRESHOLD
6,297.60 µs
Commit remove f(group size)/cs1/mem/802📈 view plot
⚠️ NO THRESHOLD
8,289.20 µs
Commit remove f(number clients)/cs1/mem/1002📈 view plot
⚠️ NO THRESHOLD
13,925.00 µs
Commit remove f(number clients)/cs1/mem/2📈 view plot
⚠️ NO THRESHOLD
134,870.00 µs
Commit remove f(number clients)/cs1/mem/202📈 view plot
⚠️ NO THRESHOLD
110,690.00 µs
Commit remove f(number clients)/cs1/mem/402📈 view plot
⚠️ NO THRESHOLD
86,672.00 µs
Commit remove f(number clients)/cs1/mem/602📈 view plot
⚠️ NO THRESHOLD
63,019.00 µs
Commit remove f(number clients)/cs1/mem/802📈 view plot
⚠️ NO THRESHOLD
38,415.00 µs
Commit update f(group size)/cs1/mem/1002📈 view plot
⚠️ NO THRESHOLD
135,080.00 µs
Commit update f(group size)/cs1/mem/2📈 view plot
⚠️ NO THRESHOLD
744.69 µs
Commit update f(group size)/cs1/mem/202📈 view plot
⚠️ NO THRESHOLD
28,023.00 µs
Commit update f(group size)/cs1/mem/402📈 view plot
⚠️ NO THRESHOLD
55,127.00 µs
Commit update f(group size)/cs1/mem/602📈 view plot
⚠️ NO THRESHOLD
83,077.00 µs
Commit update f(group size)/cs1/mem/802📈 view plot
⚠️ NO THRESHOLD
109,430.00 µs
🐰 View full continuous benchmarking report in Bencher

@SimonThormeyer SimonThormeyer force-pushed the simon/feat/credentials-in-conversation-api-WPB-19576 branch 20 times, most recently from 9b8998d to 20b84fd Compare December 22, 2025 15:35
@SimonThormeyer SimonThormeyer changed the title Simon/feat/credentials in conversation api wpb 19576 feat: conversation API with credentials [WPB 19576] Dec 22, 2025
@SimonThormeyer SimonThormeyer marked this pull request as ready for review December 22, 2025 15:46
@SimonThormeyer SimonThormeyer requested a review from a team December 22, 2025 15:46
@SimonThormeyer SimonThormeyer force-pushed the simon/feat/credentials-in-conversation-api-WPB-19576 branch 4 times, most recently from 1cfdbfa to b1ec956 Compare December 22, 2025 16:37
Copy link
Contributor

@coriolinus coriolinus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had a few nits, but the only important question is how you determined that JBEC and processing welcome messages does not require custom configuration. If there's a good answer to that (which I'm assuming there is) then this all makes sense. Nicely done!

}

/// See [core_crypto::transaction_context::TransactionContext::process_raw_welcome_message]
pub async fn process_welcome_message(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How did you determine that we always use the default custom configuration in these two cases (process welcome message and join by external commit)? Couldn't the clients do something non-default with this public interface without telling us?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CustomConfiguration that was passed in had two fields: wire policy (where our server only supports plain text), and a key rotation span (where a comment said "this isn't currently implemented") so it is obvious that providing any non-default values of this configuration doesn't work for us in practice.

@SimonThormeyer SimonThormeyer force-pushed the simon/feat/credentials-in-conversation-api-WPB-19576 branch from b1ec956 to 4a1853c Compare January 5, 2026 08:43
An error message like that would have spared me hours of debugging. I
hope it will be helpful in the future.
…` don't use config parameter

We're always using the default. This simplifies their API.
We're not changing the DB schema of this entity though, because we might
want to be able to have multiple different configurations for a single
session in the future; keeping the column avoids migrations based on
assumptions.
Our DS doesn't support it, our API doesn't support it anymore, so we can
stop testing it.
I don't understand how the test was passing before, because only in this
way it makes sense to me. Happy to have someone point out to me how it
was testing reverse-order decryption.
We already had a method on the conversation gaurd that did exactly what
we need (with a little refactoring): `update_key_material_inner()`.
So that becomes `set_credential()`.
@SimonThormeyer SimonThormeyer force-pushed the simon/feat/credentials-in-conversation-api-WPB-19576 branch from 4a1853c to b5a6a1f Compare January 5, 2026 09:27
@SimonThormeyer SimonThormeyer merged commit b5a6a1f into main Jan 5, 2026
54 checks passed
@SimonThormeyer SimonThormeyer deleted the simon/feat/credentials-in-conversation-api-WPB-19576 branch January 5, 2026 09:44
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.

3 participants