Skip to content

last_active_ago is updated on sync when it shouldn't be #12424

@matrixbot

Description

@matrixbot

This issue has been migrated from #12424.


Description

The last_active_ts is updated for a user when they perform a regular sync request where their previous presence is 'online'. It looks like synapse intends to only update this when a sync is performed with set_presence = online and the previous presence state is online, and the spec says it should only be updated on a proactive event from the user.

This is because set_state is called in order to set the new presence state and this method always updated last_active_ago.

Found while working on matrix-org/synapse#12213 but I think this will need another inter-process API added to fix.

Steps to reproduce

  • Have two users, leave one syncing.
  • On the other user, perform a sync request
  • Notice on the first sync stream that the last_active_ago value for the other user reflects the the sync you just did.

Version information

  • Homeserver:

If not matrix.org:

  • Version:

  • Install method:

  • Platform:

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