From 1396eeb71b3308f012918e06f5b2db3dffd1de58 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 18 Aug 2026 18:00:36 +0300 Subject: [PATCH] statuses unit tests --- src/api/public.js | 27 +- src/api/user.js | 39 +- src/components/conversation/conversation.js | 14 +- src/components/conversation/conversation.vue | 6 +- .../emoji_reactions/emoji_reactions.js | 8 +- .../emoji_reactions/emoji_reactions.vue | 2 +- src/components/follow_button/follow_button.js | 1 - src/components/notification/notification.js | 1 + src/components/notification/notification.vue | 2 +- src/components/status/status.js | 61 +- .../buttons_definitions.js | 2 +- .../status_history_modal.js | 47 +- .../status_history_modal.vue | 4 +- .../status_popover/status_popover.js | 5 - .../status_popover/status_popover.vue | 2 +- src/components/thread_tree/thread_tree.js | 12 +- src/components/thread_tree/thread_tree.vue | 26 +- src/stores/notifications.js | 2 +- src/stores/statusHistory.js | 27 +- src/stores/statuses.js | 62 +- test/unit/specs/modules/statuses.spec.js | 447 ------------- test/unit/specs/stores/statuses.spec.js | 603 ++++++++++++++++++ test/unit/specs/stores/users.spec.js | 202 +++--- 23 files changed, 860 insertions(+), 742 deletions(-) delete mode 100644 test/unit/specs/modules/statuses.spec.js create mode 100644 test/unit/specs/stores/statuses.spec.js diff --git a/src/api/public.js b/src/api/public.js index 740a55ca2..ef799566d 100644 --- a/src/api/public.js +++ b/src/api/public.js @@ -26,15 +26,17 @@ export const MASTODON_FOLLOWERS_URL = ( export const MASTODON_STATUS_URL = (id) => `/api/v1/statuses/${id}` const MASTODON_STATUS_CONTEXT_URL = (id) => `/api/v1/statuses/${id}/context` -const MASTODON_STATUS_SOURCE_URL = (id) => `/api/v1/statuses/${id}/source` -const MASTODON_STATUS_HISTORY_URL = (id) => `/api/v1/statuses/${id}/history` +export const MASTODON_STATUS_SOURCE_URL = (id) => + `/api/v1/statuses/${id}/source` +export const MASTODON_STATUS_HISTORY_URL = (id) => + `/api/v1/statuses/${id}/history` const MASTODON_USER_URL = '/api/v1/accounts' const MASTODON_USER_LOOKUP_URL = ({ acct }) => `/api/v1/accounts/lookup${paramsString({ acct })}` const MASTODON_POLL_URL = (id = '') => `/api/v1/polls/${id}` -const MASTODON_STATUS_FAVORITEDBY_URL = (id) => +export const MASTODON_STATUS_FAVORITEDBY_URL = (id) => `/api/v1/statuses/${id}/favourited_by` -const MASTODON_STATUS_REBLOGGEDBY_URL = (id) => +export const MASTODON_STATUS_REBLOGGEDBY_URL = (id) => `/api/v1/statuses/${id}/reblogged_by` const MASTODON_SEARCH_2 = ({ q, @@ -51,7 +53,7 @@ const MASTODON_SEARCH_2 = ({ const MASTODON_USER_SEARCH_URL = ({ q, resolve }) => `/api/v1/accounts/search${paramsString({ q, resolve })}` const MASTODON_KNOWN_DOMAIN_LIST_URL = '/api/v1/instance/peers' -const PLEROMA_EMOJI_REACTIONS_URL = (id) => +export const PLEROMA_EMOJI_REACTIONS_URL = (id) => `/api/v1/pleroma/statuses/${id}/reactions` const PLEROMA_SCROBBLES_URL = (id, { maxId, sinceId, minId, limit, offset }) => `/api/v1/pleroma/accounts/${id}/scrobbles${paramsString({ maxId, sinceId, minId, limit, offset })}` @@ -174,15 +176,18 @@ export const fetchStatusSource = ({ id, credentials }) => credentials, }).then(({ data, ...rest }) => ({ ...rest, data: parseSource(data) })) -export const fetchStatusHistory = ({ status, credentials }) => +export const fetchStatusHistory = ({ id, credentials }) => promisedRequest({ - url: MASTODON_STATUS_HISTORY_URL(status.id), + url: MASTODON_STATUS_HISTORY_URL(id), credentials, }).then(({ data, ...rest }) => { - return [...data].reverse().map((item) => { - item.originalStatus = status - return { ...rest, data: parseStatus(item) } - }) + return { + ...rest, + data: [...data].reverse().map((item) => { + item.originalStatus = status + return parseStatus(item) + }), + } }) export const listEmojiPacks = ({ page, pageSize, credentials }) => diff --git a/src/api/user.js b/src/api/user.js index 0802d8c8b..cb7195f49 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -29,11 +29,12 @@ const MFA_DISABLE_OTP_URL = '/api/pleroma/accounts/mfa/totp' const MASTODON_DISMISS_NOTIFICATION_URL = (id) => `/api/v1/notifications/${id}/dismiss` -const MASTODON_FAVORITE_URL = (id) => `/api/v1/statuses/${id}/favourite` -const MASTODON_UNFAVORITE_URL = (id) => `/api/v1/statuses/${id}/unfavourite` -const MASTODON_RETWEET_URL = (id) => `/api/v1/statuses/${id}/reblog` -const MASTODON_UNRETWEET_URL = (id) => `/api/v1/statuses/${id}/unreblog` -const MASTODON_DELETE_URL = (id) => `/api/v1/statuses/${id}` +export const MASTODON_FAVORITE_URL = (id) => `/api/v1/statuses/${id}/favourite` +export const MASTODON_UNFAVORITE_URL = (id) => + `/api/v1/statuses/${id}/unfavourite` +export const MASTODON_RETWEET_URL = (id) => `/api/v1/statuses/${id}/reblog` +export const MASTODON_UNRETWEET_URL = (id) => `/api/v1/statuses/${id}/unreblog` +export const MASTODON_DELETE_URL = (id) => `/api/v1/statuses/${id}` export const MASTODON_FOLLOW_URL = (id) => `/api/v1/accounts/${id}/follow` export const MASTODON_UNFOLLOW_URL = (id) => `/api/v1/accounts/${id}/unfollow` @@ -68,25 +69,29 @@ export const MASTODON_UNMUTE_USER_URL = (id) => `/api/v1/accounts/${id}/unmute` export const MASTODON_REMOVE_USER_FROM_FOLLOWERS_URL = (id) => `/api/v1/accounts/${id}/remove_from_followers` export const MASTODON_USER_NOTE_URL = (id) => `/api/v1/accounts/${id}/note` -const MASTODON_BOOKMARK_STATUS_URL = (id) => `/api/v1/statuses/${id}/bookmark` -const MASTODON_UNBOOKMARK_STATUS_URL = (id) => +export const MASTODON_BOOKMARK_STATUS_URL = (id) => + `/api/v1/statuses/${id}/bookmark` +export const MASTODON_UNBOOKMARK_STATUS_URL = (id) => `/api/v1/statuses/${id}/unbookmark` const MASTODON_POST_STATUS_URL = '/api/v1/statuses' const MASTODON_MEDIA_UPLOAD_URL = '/api/v1/media' const MASTODON_VOTE_URL = (id) => `/api/v1/polls/${id}/votes` const MASTODON_PROFILE_UPDATE_URL = '/api/v1/accounts/update_credentials' const MASTODON_REPORT_USER_URL = '/api/v1/reports' -const MASTODON_PIN_OWN_STATUS = (id) => `/api/v1/statuses/${id}/pin` -const MASTODON_UNPIN_OWN_STATUS = (id) => `/api/v1/statuses/${id}/unpin` -const MASTODON_MUTE_CONVERSATION = (id) => `/api/v1/statuses/${id}/mute` -const MASTODON_UNMUTE_CONVERSATION = (id) => `/api/v1/statuses/${id}/unmute` +export const MASTODON_PIN_OWN_STATUS_URL = (id) => `/api/v1/statuses/${id}/pin` +export const MASTODON_UNPIN_OWN_STATUS_URL = (id) => + `/api/v1/statuses/${id}/unpin` +export const MASTODON_MUTE_CONVERSATION_URL = (id) => + `/api/v1/statuses/${id}/mute` +export const MASTODON_UNMUTE_CONVERSATION_URL = (id) => + `/api/v1/statuses/${id}/unmute` export const MASTODON_DOMAIN_BLOCKS_URL = '/api/v1/domain_blocks' const MASTODON_ANNOUNCEMENTS_URL = '/api/v1/announcements' const MASTODON_ANNOUNCEMENTS_DISMISS_URL = (id) => `/api/v1/announcements/${id}/dismiss` -const PLEROMA_EMOJI_REACT_URL = (id, emoji) => +export const PLEROMA_EMOJI_REACT_URL = (id, emoji) => `/api/v1/pleroma/statuses/${id}/reactions/${emoji}` -const PLEROMA_EMOJI_UNREACT_URL = (id, emoji) => +export const PLEROMA_EMOJI_UNREACT_URL = (id, emoji) => `/api/v1/pleroma/statuses/${id}/reactions/${emoji}` const PLEROMA_BACKUP_URL = '/api/v1/pleroma/backups' const PLEROMA_BOOKMARK_FOLDERS_URL = '/api/v1/pleroma/bookmark_folders' @@ -155,28 +160,28 @@ export const unbookmarkStatus = ({ id, credentials }) => export const pinOwnStatus = ({ id, credentials }) => promisedRequest({ - url: MASTODON_PIN_OWN_STATUS(id), + url: MASTODON_PIN_OWN_STATUS_URL(id), credentials, method: 'POST', }).then(({ data, ...rest }) => ({ ...rest, data: parseStatus(data) })) export const unpinOwnStatus = ({ id, credentials }) => promisedRequest({ - url: MASTODON_UNPIN_OWN_STATUS(id), + url: MASTODON_UNPIN_OWN_STATUS_URL(id), credentials, method: 'POST', }).then(({ data, ...rest }) => ({ ...rest, data: parseStatus(data) })) export const muteConversation = ({ id, credentials }) => promisedRequest({ - url: MASTODON_MUTE_CONVERSATION(id), + url: MASTODON_MUTE_CONVERSATION_URL(id), credentials, method: 'POST', }).then(({ data, ...rest }) => ({ ...rest, data: parseStatus(data) })) export const unmuteConversation = ({ id, credentials }) => promisedRequest({ - url: MASTODON_UNMUTE_CONVERSATION(id), + url: MASTODON_UNMUTE_CONVERSATION_URL(id), credentials, method: 'POST', }).then(({ data, ...rest }) => ({ ...rest, data: parseStatus(data) })) diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js index 63657017c..f5a441d54 100644 --- a/src/components/conversation/conversation.js +++ b/src/components/conversation/conversation.js @@ -109,6 +109,11 @@ const conversation = { } }, computed: { + status() { + console.log(this.statusId) + console.log(useStatusesStore().allStatuses.get(this.statusId)) + return useStatusesStore().allStatuses.get(this.statusId) + }, maxDepthToShowByDefault() { // maxDepthInThread = max number of depths that is *visible* // since our depth starts with 0 and "showing" means "showing children" @@ -152,9 +157,6 @@ const conversation = { hideStatus() { return this.virtualHidden && this.suspendable }, - status() { - return useStatusesStore().allStatuses.get(this.statusId) - }, originalStatusId() { if (this.status.retweeted_status) { return this.status.retweeted_status.id @@ -178,7 +180,9 @@ const conversation = { this.conversationId, ) - return [...conversation.values()].toSorted(sortById) + return [...conversation.keys()] + .map((k) => useStatusesStore().allStatuses.get(k)) + .toSorted(sortById) }, statusMap() { return this.conversation.reduce((res, s) => { @@ -472,7 +476,7 @@ const conversation = { } useStatusesStore().fetchFavsAndRepeats(id) - useStatusesStore().fetchEmojiReactionsBy(id) + useStatusesStore().fetchEmojiReactions(id) }, toggleExpanded() { this.expanded = !this.expanded diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue index 0833c4f89..ae6e3a0ce 100644 --- a/src/components/conversation/conversation.vue +++ b/src/components/conversation/conversation.vue @@ -99,7 +99,7 @@ ref="statusComponent" class="conversation-status status-fadein panel-body" - :statusoid="status" + :status-id="status.id" :replies="getReplies(status.id)" :expandable="!isExpanded" @@ -152,7 +152,7 @@ ref="statusComponent" :depth="0" - :status="status" + :status-id="status.id" :in-profile="inProfile" :conversation="conversation" :collapsable="collapsable" @@ -186,7 +186,7 @@ :key="status.id" ref="statusComponent" class="conversation-status status-fadein panel-body" - :statusoid="status" + :status-id="status.id" :replies="getReplies(status.id)" :expandable="!isExpanded" diff --git a/src/components/emoji_reactions/emoji_reactions.js b/src/components/emoji_reactions/emoji_reactions.js index f881036df..3077ed212 100644 --- a/src/components/emoji_reactions/emoji_reactions.js +++ b/src/components/emoji_reactions/emoji_reactions.js @@ -60,10 +60,10 @@ const EmojiReactions = { reactedWith(emoji) { return this.status.emoji_reactions.find((r) => r.name === emoji).me }, - async fetchEmojiReactionsByIfMissing() { + async fetchEmojiReactionsIfMissing() { const hasNoAccounts = this.status.emoji_reactions.find((r) => !r.accounts) - if (hasNoAccounts) { - return await useStatusesStore().fetchEmojiReactionsBy(this.status.id) + if (!hasNoAccounts) { + return await useStatusesStore().fetchEmojiReactions(this.status.id) } }, reactWith(emoji) { @@ -75,7 +75,7 @@ const EmojiReactions = { async emojiOnClick(emoji) { if (!this.loggedIn) return - await this.fetchEmojiReactionsByIfMissing() + await this.fetchEmojiReactionsIfMissing() if (this.reactedWith(emoji)) { this.unreact(emoji) } else { diff --git a/src/components/emoji_reactions/emoji_reactions.vue b/src/components/emoji_reactions/emoji_reactions.vue index 16c69fa40..a8100c0d4 100644 --- a/src/components/emoji_reactions/emoji_reactions.vue +++ b/src/components/emoji_reactions/emoji_reactions.vue @@ -56,7 +56,7 @@ class="emoji-reaction-popover" :normal-button="true" :trigger-attrs="counterTriggerAttrs(reaction)" - @show="fetchEmojiReactionsByIfMissing()" + @show="fetchEmojiReactionsIfMissing()" > {{ reaction.count }} diff --git a/src/components/follow_button/follow_button.js b/src/components/follow_button/follow_button.js index 7ad91f236..e4d243ff9 100644 --- a/src/components/follow_button/follow_button.js +++ b/src/components/follow_button/follow_button.js @@ -75,7 +75,6 @@ export default { } }, doUnfollow() { - const store = this.$store this.inProgress = true useUsersStore() .unfollowUser(this.relationship.id) diff --git a/src/components/notification/notification.js b/src/components/notification/notification.js index 44c07383d..1004f50c9 100644 --- a/src/components/notification/notification.js +++ b/src/components/notification/notification.js @@ -184,6 +184,7 @@ const Notification = { }, computed: { status() { + // Used for StatusContent if (this.notification.status) { return useStatusesStore().allStatuses.get(this.notification.status.id) } diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue index 3fc486127..d2f370928 100644 --- a/src/components/notification/notification.vue +++ b/src/components/notification/notification.vue @@ -6,7 +6,7 @@ diff --git a/src/components/status/status.js b/src/components/status/status.js index c88d120db..8fc7db75a 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -94,6 +94,7 @@ const Status = { StatusActionButtons, }, props: { + statusId: String, statusoid: Object, replies: Array, @@ -128,9 +129,13 @@ const Status = { } }, computed: { + status() { + return this.statusoid ?? useStatusesStore().allStatuses.get(this.statusId) + }, showReasonMutedThread() { return ( - (this.status.thread_muted || this.status.reblog?.thread_muted) && + (this.mainStatus.thread_muted || + this.smainSatus.reblog?.thread_muted) && !this.inConversation ) }, @@ -144,27 +149,27 @@ const Status = { return this.mergedConfig.scaleMfm }, repeaterClass() { - const user = this.statusoid.user + const user = this.status.user return highlightClass(user) }, userClass() { const user = this.retweet - ? this.statusoid.retweeted_status.user - : this.statusoid.user + ? this.status.retweeted_status.user + : this.status.user return highlightClass(user) }, deleted() { - return this.statusoid.deleted + return this.status.deleted }, repeaterStyle() { - const user = this.statusoid.user + const user = this.status.user return highlightStyle(useUserHighlightStore().get(user.screen_name)) }, userStyle() { if (this.noHeading) return const user = this.retweet - ? this.statusoid.retweeted_status.user - : this.statusoid.user + ? this.status.retweeted_status.user + : this.status.user return highlightStyle(useUserHighlightStore().get(user.screen_name)) }, userProfileLink() { @@ -181,28 +186,28 @@ const Status = { } }, retweet() { - return !!this.statusoid.retweeted_status + return !!this.status.retweeted_status }, retweeterUser() { - return this.statusoid.user + return this.status.user }, retweeter() { - return this.statusoid.user.name || this.statusoid.user.screen_name_ui + return this.status.user.name || this.status.user.screen_name_ui }, retweeterHtml() { - return this.statusoid.user.name + return this.status.user.name }, retweeterProfileLink() { return this.generateUserProfileLink( - this.statusoid.user.id, - this.statusoid.user.screen_name, + this.status.user.id, + this.status.user.screen_name, ) }, - status() { + mainStatus() { if (this.retweet) { - return this.statusoid.retweeted_status + return this.status.retweeted_status } else { - return this.statusoid + return this.status } }, statusFromGlobalRepository() { @@ -231,14 +236,14 @@ const Status = { const writtenSet = new Set( this.headTailLinks.writtenMentions.map((_) => _.url), ) - return this.status.attentions + return this.mainStatus.attentions .filter((attn) => { // no reply user return ( - attn.id !== this.status.in_reply_to_user_id && + attn.id !== this.mainStatus.in_reply_to_user_id && // no self-replies attn.statusnet_profile_url !== - this.status.user.statusnet_profile_url && + this.mainStatus.user.statusnet_profile_url && // don't include if mentions is written !writtenSet.has(attn.statusnet_profile_url) ) @@ -255,7 +260,7 @@ const Status = { muteReasons() { return [ this.userIsMuted ? 'user' : null, - this.status.thread_muted ? 'thread' : null, + this.mainStatus.thread_muted ? 'thread' : null, this.muteFilterHits.length > 0 ? 'filtered' : null, this.muteBotStatuses && this.botStatus ? 'bot' : null, this.muteSensitiveStatuses && this.sensitiveStatus ? 'nsfw' : null, @@ -299,14 +304,13 @@ const Status = { }, muted() { if (this.ignoreMute) return false - if (this.statusoid.user.id === this.currentUser?.id) return false + if (this.status.user.id === this.currentUser?.id) return false return !this.unmuted && !this.shouldNotMute && this.muteReasons.length > 0 }, userIsMuted() { - if (this.statusoid.user.id === this.currentUser?.id) return false - const { status } = this - const { reblog } = status - const relationship = useUsersStore().relationship(status.user.id) + if (this.status.user.id === this.currentUser?.id) return false + const { reblog } = this.status + const relationship = useUsersStore().relationship(this.status.user.id) const relationshipReblog = reblog && useUsersStore().relationship(reblog.user.id) return ( @@ -322,8 +326,7 @@ const Status = { shouldNotMute() { if (this.ignoreMute) return true if (this.focused) return true - const { status } = this - const { reblog } = status + const { reblog } = this.status return ( ((this.inProfile && // Don't mute user's posts on user timeline (except reblogs) @@ -576,7 +579,7 @@ const Status = { } }, isSuspendable: function (suspend) { - this.$emit('suspendableStateChange', { id: this.statusoid.id, suspend }) + this.$emit('suspendableStateChange', { id: this.status.id, suspend }) }, }, } diff --git a/src/components/status_action_buttons/buttons_definitions.js b/src/components/status_action_buttons/buttons_definitions.js index 47b1baaf2..399fad395 100644 --- a/src/components/status_action_buttons/buttons_definitions.js +++ b/src/components/status_action_buttons/buttons_definitions.js @@ -187,7 +187,7 @@ export const BUTTONS = [ 'summary_raw_html', ] stripFieldsList.forEach((p) => delete originalStatus[p]) - useStatusHistoryStore().openStatusHistoryModal(originalStatus) + useStatusHistoryStore().openModal(originalStatus.id) return Promise.resolve() }, }, diff --git a/src/components/status_history_modal/status_history_modal.js b/src/components/status_history_modal/status_history_modal.js index b27c19b73..5a3fc2a41 100644 --- a/src/components/status_history_modal/status_history_modal.js +++ b/src/components/status_history_modal/status_history_modal.js @@ -1,13 +1,14 @@ -import { get } from 'lodash' +import { mapState } from 'pinia' import Modal from 'src/components/modal/modal.vue' +import StatusContent from 'src/components/status_content/status_content.vue' -import { useStatusesStore } from 'src/stores/statuses.js' import { useStatusHistoryStore } from 'src/stores/statusHistory.js' const StatusHistoryModal = { components: { Modal, + StatusContent, }, data() { return { @@ -15,50 +16,14 @@ const StatusHistoryModal = { } }, computed: { - modalActivated() { - return useStatusHistoryStore().modalActivated - }, - params() { - return useStatusHistoryStore().params - }, - statusId() { - return this.params.id - }, historyCount() { - return this.statuses.length - }, - history() { - return this.statuses - }, - }, - watch: { - params(newVal, oldVal) { - const newStatusId = get(newVal, 'id') !== get(oldVal, 'id') - if (newStatusId) { - this.resetHistory() - } - - if ( - newStatusId || - get(newVal, 'edited_at') !== get(oldVal, 'edited_at') - ) { - this.fetchStatusHistory() - } + return this.history.length }, + ...mapState(useStatusHistoryStore, ['modalActivated', 'history']), }, methods: { - resetHistory() { - this.statuses = [] - }, - fetchStatusHistory() { - useStatusesStore() - .fetchStatusHistory(this.params) - .then((data) => { - this.statuses = data - }) - }, closeModal() { - useStatusHistoryStore().closeStatusHistoryModal() + useStatusHistoryStore().closeModal() }, }, } diff --git a/src/components/status_history_modal/status_history_modal.vue b/src/components/status_history_modal/status_history_modal.vue index 282878b52..a78e04c96 100644 --- a/src/components/status_history_modal/status_history_modal.vue +++ b/src/components/status_history_modal/status_history_modal.vue @@ -15,10 +15,10 @@ v-if="historyCount > 0" class="history-body" > - diff --git a/src/components/status_popover/status_popover.js b/src/components/status_popover/status_popover.js index e9fc2398d..30b43be2c 100644 --- a/src/components/status_popover/status_popover.js +++ b/src/components/status_popover/status_popover.js @@ -15,11 +15,6 @@ const StatusPopover = { error: false, } }, - computed: { - status() { - return useStatusesStore().allStatuses.get(this.statusId) - }, - }, components: { Popover, }, diff --git a/src/components/status_popover/status_popover.vue b/src/components/status_popover/status_popover.vue index ccfb06c02..a17b41675 100644 --- a/src/components/status_popover/status_popover.vue +++ b/src/components/status_popover/status_popover.vue @@ -14,7 +14,7 @@ diff --git a/src/components/thread_tree/thread_tree.js b/src/components/thread_tree/thread_tree.js index 75232a259..e5352fba1 100644 --- a/src/components/thread_tree/thread_tree.js +++ b/src/components/thread_tree/thread_tree.js @@ -11,7 +11,7 @@ const ThreadTree = { name: 'ThreadTree', props: { depth: Number, - status: Object, + statusId: String, inProfile: Boolean, conversation: Array, collapsable: Boolean, @@ -34,8 +34,8 @@ const ThreadTree = { computed: { reverseLookupTable() { return this.conversation.reduce( - (table, status, index) => { - table[status.id] = index + (table, statusId, index) => { + table[statusId] = index return table }, { @@ -44,12 +44,10 @@ const ThreadTree = { ) }, currentReplies() { - return this.getReplies(this.status.id).map(({ id }) => - this.statusById(id), - ) + return this.getReplies(this.statusId).map(({ id }) => this.statusById(id)) }, threadShowing() { - return this.threadDisplayStatus[this.status.id] === 'showing' + return this.threadDisplayStatus[this.statusId] === 'showing' }, }, methods: { diff --git a/src/components/thread_tree/thread_tree.vue b/src/components/thread_tree/thread_tree.vue index 556858ad7..113119fa6 100644 --- a/src/components/thread_tree/thread_tree.vue +++ b/src/components/thread_tree/thread_tree.vue @@ -1,25 +1,25 @@