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

Token expirations cause incorrect timelines (exacerbated by OIDC refreshing tokens) #283

Closed
kegsay opened this issue Sep 1, 2023 · 1 comment · Fixed by #300
Closed
Labels
bug Something isn't working poller

Comments

@kegsay
Copy link
Member

kegsay commented Sep 1, 2023

because of the gappy syncs, and how initial syncs use timeline limit: 1 to pull in valid prev batch tokens, it means timeline_limit: 20 is pulling in the actual latest event then prepend state events then whatever crap was in the timeline before the last poller expired, see picture.

Screenshot 2023-09-01 at 14 11 57

Ideally we would just return the latest event in this scenario, with a correct prev batch token so the client can backfill the data but that means we need to know where the gaps are, so we can then terminate the timeline fetch at the right spot.

The gap flag is a property of the event in the events table, as that table is the timeline ordering.

@kegsay kegsay added bug Something isn't working poller labels Sep 1, 2023
@kegsay
Copy link
Member Author

kegsay commented Sep 1, 2023

Strictly not limited to OIDC:

i.e A and B in room X, only A using the proxy, send 20 msgs then sign out, some msgs go by, some state events, then B uses the proxy -> prepend the missed state+ see latest event only, then request timeline_limit: 20 and you'll see the same thing.

@DMRobertson DMRobertson changed the title OIDC expirations cause incorrect timelines Token expirations cause incorrect timelines (exacerbated by OIDC refreshing tokens) Sep 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working poller
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant