Conversation
Experimental PR to test js-sdk with simlified sliding sync. This does not maintain support for regulaer sliding sync.
Working branch to get SSS functional on element-web. Requires matrix-org/matrix-js-sdk#4400
|
@dbkr loading DMs names are fixed for me but Avatars don't load inital only when I click on a DM (Room) and the Timeline shows only one recent Message, like this |
Otherwise when the room next appears the name/avatar reset to 'Empty Room' with no avatar.
SSS doesn't have them.
richvdh
left a comment
There was a problem hiding this comment.
A few nits but generally lgtm
src/models/room.ts
Outdated
| // just to be sure | ||
| this.summaryHeroes = heroes.filter((userId) => { | ||
| return userId !== this.myUserId; | ||
| if (Array.isArray(heroes) && heroes.length > 0) { |
There was a problem hiding this comment.
why do we add this new heroes.length > 0 condition? it seems wrong to me, but maybe it doesn't matter.
There was a problem hiding this comment.
Mmm, I suppose this is unnecessary and might cause some situation where they aren't cleared when they ought to be.
| if (joinedCount !== undefined && Number.isInteger(joinedCount)) { | ||
| this.currentState.setJoinedMemberCount(joinedCount); | ||
| } | ||
| if (invitedCount !== undefined && Number.isInteger(invitedCount)) { |
There was a problem hiding this comment.
Typescript complains without these checks as Number.isInteger doesn't accept undefined for whatever reason.
src/models/room.ts
Outdated
| let otherNames: string[] = []; | ||
| if (this.summaryHeroes) { | ||
| if (this.heroes) { | ||
| // if we have a summary, the member state events should be in the room state |
There was a problem hiding this comment.
this comment feels like it's got a bit lost, as well
There was a problem hiding this comment.
Mmm yeah, should be better now.
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
as it wasn't really necessary and may cause heroes not to be cleared?
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
as it's necessary to stop typescript complaining
|
Force merging because the upstream will be incompatible |
* Experimental SSS Working branch to get SSS functional on element-web. Requires matrix-org/matrix-js-sdk#4400 * Adjust tests to use new behaviour * Remove well-known proxy URL lookup; always use native This is actually required for SSS because otherwise it would use the proxy over native support. * Linting * Debug logging * Control the race condition when swapping between rooms * Dont' filter by space as synapse doesn't support it * Remove SS code related to registering lists and managing ranges - Update the spidering code to spider all the relevant lists. - Add canonical alias to the required_state to allow room name calcs to work. Room sort order is busted because we don't yet look at `bump_stamp`. * User bumpStamp if it is present * Drop initial room load from 20 per list to 10 * Half the batch size to trickle more quickly * Prettier * prettier on tests too * Remove proxy URL & unused import * Hopefully fix tests to assert what the behaviour is supposed to be * Move the singleton to the manager tyo fix import loop * Very well, code, I will remove you Why were you there in the first place? * Strip out more unused stuff * Fix playwright test Seems like this lack of order updating unless a room is selected was just always a bug with both regular and non-sliding sync. I have no idea how the test passed on develop because it won't run. * Fix test to do maybe what it was supposed to do... possibly? * Remove test for old pre-simplified sliding sync behaviour * Unused import * Remove sliding sync proxy & test I was wrong about what this test was asserting, it was suposed to assert that notification dots aren't shown (because SS didn't support them somehow I guess) but they are fine in SSS so the test is just no longer relevant. * Remove now pointless credentials * Remove subscription removal as SSS doesn't do that * Update tests * add test * Switch to new labs flag & break if old labs flag is enabled * Remove unused import & fix test * Fix other test * Remove name & description from old labs flag as they're not displayed anywhere so not useful * Remove old sliding sync option by making it not a feature * Add back unread nindicator test but inverted and minus the bit about disabling notification which surely would have defeated the original point anyway? * Reinstate test for room_subscriptions ...and also make tests actually use sliding sync * Use UserFriendlyError * Remove empty constructor * Remove unrelated changes * Unused import * Fix import * Avoid moving import --------- Co-authored-by: Kegan Dougal <7190048+kegsay@users.noreply.github.com>
* Experimental SSS Working branch to get SSS functional on element-web. Requires matrix-org/matrix-js-sdk#4400 * Adjust tests to use new behaviour * Remove well-known proxy URL lookup; always use native This is actually required for SSS because otherwise it would use the proxy over native support. * Linting * Debug logging * Control the race condition when swapping between rooms * Dont' filter by space as synapse doesn't support it * Remove SS code related to registering lists and managing ranges - Update the spidering code to spider all the relevant lists. - Add canonical alias to the required_state to allow room name calcs to work. Room sort order is busted because we don't yet look at `bump_stamp`. * User bumpStamp if it is present * Drop initial room load from 20 per list to 10 * Half the batch size to trickle more quickly * Prettier * prettier on tests too * Remove proxy URL & unused import * Hopefully fix tests to assert what the behaviour is supposed to be * Move the singleton to the manager tyo fix import loop * Very well, code, I will remove you Why were you there in the first place? * Strip out more unused stuff * Fix playwright test Seems like this lack of order updating unless a room is selected was just always a bug with both regular and non-sliding sync. I have no idea how the test passed on develop because it won't run. * Fix test to do maybe what it was supposed to do... possibly? * Remove test for old pre-simplified sliding sync behaviour * Unused import * Remove sliding sync proxy & test I was wrong about what this test was asserting, it was suposed to assert that notification dots aren't shown (because SS didn't support them somehow I guess) but they are fine in SSS so the test is just no longer relevant. * Remove now pointless credentials * Remove subscription removal as SSS doesn't do that * Update tests * add test * Switch to new labs flag & break if old labs flag is enabled * Remove unused import & fix test * Fix other test * Remove name & description from old labs flag as they're not displayed anywhere so not useful * Remove old sliding sync option by making it not a feature * Add back unread nindicator test but inverted and minus the bit about disabling notification which surely would have defeated the original point anyway? * Reinstate test for room_subscriptions ...and also make tests actually use sliding sync * Use UserFriendlyError * Remove empty constructor * Remove unrelated changes * Unused import * Fix import * Avoid moving import --------- Co-authored-by: Kegan Dougal <7190048+kegsay@users.noreply.github.com>

Switches js-sdk's sliding sync support to simplified sliding sync. This is still experimental.
This does not maintain support for regular sliding sync.
Checklist
public/exportedsymbols have accurate TSDoc documentation.