···4141 this.$postQuotes = new SignalMap();
4242 this.$postReposts = new SignalMap();
4343 this.$feedGenerators = new SignalMap();
4444+ this.$lists = new SignalMap();
4545+ this.$listMembers = new SignalMap();
4446 this.$actorFeeds = new SignalMap();
4547 this.$hashtagFeeds = new SignalMap();
4648 this.$profileFollowers = new SignalMap();
+12
src/js/dataLayer/declarative.js
···8282 return feedGenerator;
8383 }
84848585+ async ensureList(listUri) {
8686+ let list = this.derived.$lists.get(listUri);
8787+ if (!list) {
8888+ await this.requests.loadList(listUri);
8989+ list = this.derived.$lists.get(listUri);
9090+ }
9191+ if (!list) {
9292+ throw new Error("List not found");
9393+ }
9494+ return list;
9595+ }
9696+8597 async ensurePinnedItems() {
8698 let pinnedItems = this.derived.$hydratedPinnedItems.get();
8799 if (!pinnedItems) {
+6
src/js/dataLayer/derived.js
···379379 this.$feedGenerators = new ComputedMap((feedUri) =>
380380 this.dataStore.$feedGenerators.get(feedUri),
381381 );
382382+ this.$lists = new ComputedMap((listUri) =>
383383+ this.dataStore.$lists.get(listUri),
384384+ );
385385+ this.$listMembers = new ComputedMap((listUri) =>
386386+ this.dataStore.$listMembers.get(listUri),
387387+ );
382388 this.$profileSearchResults = new Signal.Computed(() => {
383389 const data = this.dataStore.$profileSearchResults.get();
384390 if (!data) return null;