Skip to content

Make http requests soft logout aware #2027

@TheOneWithTheBraid

Description

@TheOneWithTheBraid

Checklist

  • I could not find a solution in the documentation, the existing issues or discussions.
  • I already asked for help in the chat

In which Project did the bug appear?

Other

If you selected "Other" as Project, please enter in which project the bug occurred.

matrix-dart-sdk

On which platform did the bug appear?

Firefox

SDK Version

v0.38.0

Describe the problem caused by this bug

(Note : the bug report form is really cursed.)

The Client._innerSync method currently seems to be the only place honoring MatrixError.M_UNKNOWN_TOKEN with soft_logout. As a developer using the SDK, I'd expect all called endpoints to handle a soft log out. The SDK already ships the FixedTimeoutHttpClient. I'd propose to implement an an additional layer similar to the RetryClient on SDK side filtering for soft logout responses and retrying after calling Client.onSoftLogout.

As a current workaround, I ship a RetryClient on my application side.

Steps To Reproduce

  1. Start SSSS bootstrap with a really short lived token (SSSS performs many individual requests)
  2. Be slow with user input
  3. See how it will fail due to an expired access token

Please note this might take a couple of times to retry since usually the Client.sync will refresh the access token fast enough.

Screenshots or Logs

No response

Security related

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions