Skip to content
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

Device dehydration v2 #922

Open
8 of 19 tasks
BillCarsonFr opened this issue Jan 20, 2023 · 10 comments
Open
8 of 19 tasks

Device dehydration v2 #922

BillCarsonFr opened this issue Jan 20, 2023 · 10 comments
Assignees
Labels

Comments

@BillCarsonFr
Copy link
Member

BillCarsonFr commented Jan 20, 2023

User story

As a user, if I log out my last device, other users should still be able to send messages to me and I should be able to read them once I come back and log in with some device.

Concept

Initial device dehydration feature has several issues:

  • Tricky to implement, as it requires that the device rehydration be done before any other API calls
  • User loses the advantage of verifying their other devices via emoji or QR code (passphrase needed anyhow to rehydrate)

It's now replaced with MSC3814.

Tasks

WP0 Ground work

  1. poljar

WP1 Labbing Dehydrated device support

WP2 Dehydrated device settings and management

WP3 WebR support

  1. 6 of 7
    uhoreg

WPX EX support

Deprecate and remove legacy device dehydration (MSC2697)

No tasks being tracked yet.
@BillCarsonFr BillCarsonFr added T-Epic Issue is at Epic level Team: Crypto labels Jan 20, 2023
@pmaier1
Copy link
Contributor

pmaier1 commented Mar 21, 2023

Design/UX inputs needed for settings and option to enable disable

As discussed today, we want to make this feature transparent to the user as far as possible. As it requires key backup being enabled, we'd bind the availability of dehydrated devices to the setting to enable/disable key backup.

@emmaburton1
Copy link

Work on this can be timesheeted to the project on https://element-io.atlassian.net/browse/PSB-87

@poljar
Copy link

poljar commented Jul 18, 2023

So a status update here:
Ruma PR: ruma/ruma#1605
Rust SDK branch: https://github.com/matrix-org/matrix-rust-sdk/tree/poljar/device-dehydration
Synapse branch that can be used for testing: https://github.com/poljar/synapse/tree/poljar/msc3814-v2

@stefanceriu above are the main ingredients that you'll need to get started on this on the iOS side, the Rust SDK branch depends on the Ruma PR, so you only need the later two.

@poljar
Copy link

poljar commented Jul 18, 2023

Work on this can be timesheeted to the project on https://element-io.atlassian.net/browse/PSB-87

Where exactly do I find this in the myhours thingy? I can't seem to find a PSB-87 in the task list.

@pmaier1
Copy link
Contributor

pmaier1 commented Jul 18, 2023

Where exactly do I find this in the myhours thingy? I can't seem to find a PSB-87 under the BWI task list.

It should just be the title of this ticket.

@emmaburton1
Copy link

emmaburton1 commented Jul 18, 2023

@poljar I've added the task to relevant customer retainer project.

@pmaier1
Copy link
Contributor

pmaier1 commented Jul 19, 2023

Considering that device dehydration

  • will first be a labs feature and we probably can't ask all the end users to turn it on over and over again (when logging out and logging in again)
  • the server-side support will also be an experimental feature at first

can we automatically enable the feature on the client if the server-side setting is enabled? Probably doesn't make sense to have two switches to enable it and this way we could control availability centrally.

@t3chguy
Copy link
Member

t3chguy commented Jul 19, 2023

@pmaier1 we don't tend to have HS-driven labs features due to the potential for data loss or work preventing bugs whilst thinking you are running a stable release of Element

@pmaier1
Copy link
Contributor

pmaier1 commented Jul 19, 2023

then we need a separate switch on the backend to force enabling the labs feature on the client. otherwise this will be unusable.

@t3chguy
Copy link
Member

t3chguy commented Jul 19, 2023

Element web/desktop already support Such via config.json but not via anything HS driven.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants