diff --git a/.changeset/cache-sliding-sync-room-metadata.md b/.changeset/cache-sliding-sync-room-metadata.md new file mode 100644 index 000000000..2f29d79fb --- /dev/null +++ b/.changeset/cache-sliding-sync-room-metadata.md @@ -0,0 +1,5 @@ +--- +default: patch +--- + +Cache room banners, abbreviations, power-level labels, and widgets for faster sliding sync warm starts. diff --git a/src/client/slidingSyncSidebarCache.ts b/src/client/slidingSyncSidebarCache.ts index 4aad4638d..ed74105a7 100644 --- a/src/client/slidingSyncSidebarCache.ts +++ b/src/client/slidingSyncSidebarCache.ts @@ -1,6 +1,7 @@ import type { MatrixClient, MSC3575RoomData, SlidingSync } from '$types/matrix-sdk'; import { EventType, MatrixEvent, SlidingSyncEvent } from '$types/matrix-sdk'; import { CustomAccountDataEvent } from '$types/matrix/accountData'; +import { CustomStateEvent } from '$types/matrix/room'; const CACHE_VERSION = 1; const CACHE_KEY_PREFIX = 'sable.slidingSyncSidebarCache.'; @@ -37,6 +38,10 @@ const CACHED_STATE_TYPES = new Set([ EventType.RoomServerAcl, EventType.SpaceChild, EventType.SpaceParent, + CustomStateEvent.PowerLevelTags, + CustomStateEvent.RoomWidget, + CustomStateEvent.RoomAbbreviations, + CustomStateEvent.RoomBanner, ]); const emptyCache = (): SidebarCacheData => ({