Skip to content
This repository has been archived by the owner on Apr 12, 2022. It is now read-only.

Wrong Sync timeout configuration #551

Open
bagolysz opened this issue Jun 22, 2020 · 1 comment
Open

Wrong Sync timeout configuration #551

bagolysz opened this issue Jun 22, 2020 · 1 comment

Comments

@bagolysz
Copy link

bagolysz commented Jun 22, 2020

When setting the syncDelay to a custom value, the sync timeout parameter is no longer set to desired value.

Description

  • When building a default session, like below:
    session = MXSession.Builder(hsConfig!!, dataHandler, context).build(); session?.startEventStream(null);

The sync requests are made expected, with the default timeout value (after the first sync):
https://mybaseurl/_matrix/client/r0/sync?filter=%7B%7D&set_presence=offline&timeout=0 https://mybaseurl/_matrix/client/r0/sync?filter=1&set_presence=offline&timeout=30000&since=s94606_169438_162_1_1_1_1_22183_1

  • When building a session with custom syncDelay:
    session = MXSession.Builder(hsConfig!!, dataHandler, context).build(); session?.syncDelay = 20000; session?.startEventStream(null);

The sync requests now are sending the parameter timeout with value 0 all the time (not only for first sync):
https://mybaseurl/_matrix/client/r0/sync?filter=%7B%7D&set_presence=offline&timeout=0 https://mybaseurl/_matrix/client/r0/sync?filter=1&set_presence=offline&timeout=0&since=s94605_169415_162_1_1_1_1_22182_1

  • Moreover, if the syncTimeout is set:
    session?.syncTimeout = 10000

the timeout param in the request still remains the default one:
https://mybaseurl/_matrix/client/r0/sync?filter=1&set_presence=offline&timeout=30000&since=s94606_169438_162_1_1_1_1_22183_1

Additional information
Matrix-Android-Sdk version: v0.9.35
Android Studio version: 4.0.0

@bagolysz
Copy link
Author

bagolysz commented Jul 1, 2020

Actually, I can see that the server long poll timeout will always be set to at least 30 seconds:

    private static final int DEFAULT_SERVER_TIMEOUT_MS = 30000;

  
    /**
     * Update the long poll timeout.
     *
     * @param ms the timeout in ms
     */
    public void setServerLongPollTimeout(int ms) {
        mDefaultServerTimeoutms = Math.max(ms, DEFAULT_SERVER_TIMEOUT_MS);
        Log.d(LOG_TAG, "setServerLongPollTimeout : " + mDefaultServerTimeoutms);

    }

Is there any plan to extend the functionality to support lower timeout values as well?

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

No branches or pull requests

1 participant