diff --git a/src/state/models/feeds/notifications.ts b/src/state/models/feeds/notifications.ts index 5f170062..4bf23590 100644 --- a/src/state/models/feeds/notifications.ts +++ b/src/state/models/feeds/notifications.ts @@ -23,8 +23,6 @@ const PAGE_SIZE = 30 const MS_1HR = 1e3 * 60 * 60 const MS_2DAY = MS_1HR * 48 -let _idCounter = 0 - export const MAX_VISIBLE_NOTIFS = 30 export interface GroupedNotification extends ListNotifications.Notification { @@ -573,7 +571,7 @@ export class NotificationsFeedModel { for (const item of items) { const itemModel = new NotificationsFeedItemModel( this.rootStore, - `item-${_idCounter++}`, + `notification-${item.uri}`, item, ) const uri = itemModel.additionalDataUri diff --git a/src/state/models/feeds/post.ts b/src/state/models/feeds/post.ts index 68cc3de4..ae4f2910 100644 --- a/src/state/models/feeds/post.ts +++ b/src/state/models/feeds/post.ts @@ -28,10 +28,10 @@ export class PostsFeedItemModel { constructor( public rootStore: RootStoreModel, - reactKey: string, + _reactKey: string, v: FeedViewPost, ) { - this._reactKey = reactKey + this._reactKey = _reactKey this.post = v.post if (FeedPost.isRecord(this.post.record)) { const valid = FeedPost.validateRecord(this.post.record) diff --git a/src/state/models/feeds/posts-slice.ts b/src/state/models/feeds/posts-slice.ts index c02faed3..d20c23b9 100644 --- a/src/state/models/feeds/posts-slice.ts +++ b/src/state/models/feeds/posts-slice.ts @@ -3,8 +3,6 @@ import {RootStoreModel} from '../root-store' import {FeedViewPostsSlice} from 'lib/api/feed-manip' import {PostsFeedItemModel} from './post' -let _idCounter = 0 - export class PostsFeedSliceModel { // ui state _reactKey: string = '' @@ -12,15 +10,15 @@ export class PostsFeedSliceModel { // data items: PostsFeedItemModel[] = [] - constructor( - public rootStore: RootStoreModel, - reactKey: string, - slice: FeedViewPostsSlice, - ) { - this._reactKey = reactKey - for (const item of slice.items) { + constructor(public rootStore: RootStoreModel, slice: FeedViewPostsSlice) { + this._reactKey = `slice-${slice.uri}` + for (let i = 0; i < slice.items.length; i++) { this.items.push( - new PostsFeedItemModel(rootStore, `slice-${_idCounter++}`, item), + new PostsFeedItemModel( + rootStore, + `${this._reactKey} - ${i}`, + slice.items[i], + ), ) } makeAutoObservable(this, {rootStore: false}) diff --git a/src/state/models/feeds/posts.ts b/src/state/models/feeds/posts.ts index e5d2eba0..bc1227fd 100644 --- a/src/state/models/feeds/posts.ts +++ b/src/state/models/feeds/posts.ts @@ -13,7 +13,6 @@ import {PostsFeedSliceModel} from './posts-slice' import {track} from 'lib/analytics/analytics' const PAGE_SIZE = 30 -let _idCounter = 0 type QueryParams = | GetTimeline.QueryParams @@ -368,11 +367,7 @@ export class PostsFeedModel { const toAppend: PostsFeedSliceModel[] = [] for (const slice of slices) { - const sliceModel = new PostsFeedSliceModel( - this.rootStore, - `item-${_idCounter++}`, - slice, - ) + const sliceModel = new PostsFeedSliceModel(this.rootStore, slice) toAppend.push(sliceModel) } runInAction(() => {