element-hq / element-meta

Shared/meta documentation and project artefacts for Element clients
75 stars 12 forks source link

Invisible Crypto: Web: display a warning when an *unverified* user changes identity #2513

Open richvdh opened 2 months ago

richvdh commented 2 months ago

Followup to https://github.com/element-hq/element-meta/issues/2492. Part of https://github.com/element-hq/element-meta/issues/2491, itself part of Invisible crypto.

When an unverified user changes their identity, we need to make our user aware of this. In the long term, the intention is just to show a notice in the timeline (#2493); however, that is difficult to implement and we need a stop-gap.

This task is for Element Web.

The proposal is to show a warning above the composer, in much the same way as we would for verified users (#2491), but without locking the composer.

Figma designs:

richvdh commented 2 months ago

Implementation notes:

andybalaam commented 1 month ago

It would be great if we can re-use the logic I am writing here https://github.com/matrix-org/matrix-rust-sdk/compare/main...andybalaam/room-identity-stream .

The core logic is inside the crypto crate, so there is some chance we can re-use it.

uhoreg commented 1 month ago

Is there a particular reason we want the banner to say "... appears to have changed" instead of simply "... has changed"? ( @mxandreas ?)

mxandreas commented 1 month ago

Is there a particular reason we want the banner to say "... appears to have changed" instead of simply "... has changed"?

Great question :) I was told that there is one, but I do not know what it exactly is. I also challenged it a while ago, and the response was that there had been a long debate on it already, thus I left it as there were more important topics. FWIW - I think it helps to distinguish between the pinned vs verified identity change, so supports debugging with users, etc.

andybalaam commented 1 month ago

Yeah, the wording is from https://github.com/matrix-org/matrix-spec-proposals/blob/andybalaam/crypto-terminology/proposals/4161-crypto-terminology.md#identity and it was crafted over quite a lot of time.

The point is that there are 2 possible cases:

The wording is saying "it looks like 2 happened".

Make sense?

uhoreg commented 1 month ago

It would be great if we can re-use the logic I am writing here matrix-org/matrix-rust-sdk@main...andybalaam/room-identity-stream .

The core logic is inside the crypto crate, so there is some chance we can re-use it.

For reference, this is also https://github.com/matrix-org/matrix-rust-sdk/pull/4022

uhoreg commented 1 month ago

If there are multiple users whose identity has changed, as a first cut, I'll just show one user at a time. It may be slightly annoying, but hopefully there won't be too many users that need acknowledging at a time.

mxandreas commented 1 month ago

If there are multiple users whose identity has changed, as a first cut, I'll just show one user at a time. It may be slightly annoying, but hopefully there won't be too many users that need acknowledging at a time.

Yes, that was the plan for now, also for EX.

mxandreas commented 1 month ago

For visibility: https://github.com/element-hq/element-meta/issues/2525#issuecomment-2394051527

uhoreg commented 1 month ago

image

mxandreas commented 1 month ago

@uhoreg Andy already mentioned but just in case - if you implement this, then please do it so that in clear rooms the banner is not shown: https://github.com/element-hq/element-meta/issues/2560

mxandreas commented 1 month ago

@uhoreg And another similar follow-up to me mentioned is https://github.com/element-hq/element-meta/issues/2565