Skip to content

Allow multiple BobStates #2777

Closed as duplicate of#6531
Closed as duplicate of#6531
@r10s

Description

@r10s

BobState is currently kept in memory only and there is only one BobState. this has the following disadvantages:

  1. if the app is terminated before Alice answers, the secure join will get stale. eg. iOS suspends app in the background already after 30 seconds, usually the memory is restored on coming to foreground again, but that depends: apps may also be terminated already after 30 seconds.
    android may have similar situations, but also a simple user-exit may terminate a handshake unexpectedly, esp. it that runs for several minutes.
    EDIT this is fixed by #2920

  2. since instant success on simple qr-setup-contact #1215 and non-blocking group QR joins #2508 all handshakes run in background and dc_join_securejoin() always returns immediately with the chat-id.
    however, if dc_join_securejoin() is called again before the old one has finished, the old one is aborted (which is already better than showing an error :)

the idea is to target both issues by handling BobState completely in the database, eg. in a separate table, one row per state.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions