logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe
commit: b65ac128c15f00b3b0ae885d6cbcb3d1388738af
parent: c54b1fd0c517145f323f5fe0df9af5131137406a
Author: HJ <spam@hjkos.com>
Date:   Wed, 19 Dec 2018 14:57:25 +0000

Merge branch 'remove_favorite_hacks' into 'develop'

no more "broken favorite"

Closes #218 and #145

See merge request pleroma/pleroma-fe!431

Diffstat:

Msrc/components/notification/notification.vue5+----
Msrc/components/notifications/notifications.scss10----------
Msrc/modules/api.js3---
Msrc/modules/statuses.js23++---------------------
Msrc/modules/users.js2--
Msrc/services/api/api.service.js3---
Msrc/services/backend_interactor_service/backend_interactor_service.js11-----------
7 files changed, 3 insertions(+), 54 deletions(-)

diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue @@ -33,10 +33,7 @@ </router-link> </div> <template v-else> - <status :activatePanel="activatePanel" v-if="notification.status" class="faint" :compact="true" :statusoid="notification.status" :noHeading="true"></status> - <div class="broken-favorite" v-else> - {{$t('notifications.broken_favorite')}} - </div> + <status :activatePanel="activatePanel" class="faint" :compact="true" :statusoid="notification.status" :noHeading="true"></status> </template> </div> </div> diff --git a/src/components/notifications/notifications.scss b/src/components/notifications/notifications.scss @@ -36,16 +36,6 @@ border-color: $fallback--border; border-color: var(--border, $fallback--border); - .broken-favorite { - border-radius: $fallback--tooltipRadius; - border-radius: var(--tooltipRadius, $fallback--tooltipRadius); - color: $fallback--text; - color: var(--alertErrorText, $fallback--text); - background-color: $fallback--alertError; - background-color: var(--alertError, $fallback--alertError); - padding: 2px .5em - } - .avatar-compact { width: 32px; height: 32px; diff --git a/src/modules/api.js b/src/modules/api.js @@ -46,9 +46,6 @@ const api = { store.commit('addFetcher', {timeline, fetcher}) } }, - fetchOldPost (store, { postId }) { - store.state.backendInteractor.fetchOldPost({ store, postId }) - }, stopFetching (store, timeline) { const fetcher = store.state.fetchers[timeline] window.clearInterval(fetcher) diff --git a/src/modules/statuses.js b/src/modules/statuses.js @@ -27,8 +27,7 @@ export const defaultState = { maxId: 0, minId: Number.POSITIVE_INFINITY, data: [], - error: false, - brokenFavorites: {} + error: false }, favorites: new Set(), error: false, @@ -36,7 +35,6 @@ export const defaultState = { mentions: emptyTl(), public: emptyTl(), user: emptyTl(), - own: emptyTl(), publicAndExternal: emptyTl(), friends: emptyTl(), tag: emptyTl(), @@ -158,12 +156,6 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us const result = mergeOrAdd(allStatuses, allStatusesObject, status) status = result.item - const brokenFavorites = state.notifications.brokenFavorites[status.id] || [] - brokenFavorites.forEach((fav) => { - fav.status = status - }) - delete state.notifications.brokenFavorites[status.id] - if (result.new) { // We are mentioned in a post if (statusType(status) === 'status' && find(status.attentions, { id: user.id })) { @@ -304,7 +296,7 @@ const addNewNotifications = (state, { dispatch, notifications, older, visibleNot const fresh = !notification.is_seen const status = notification.ntype === 'like' - ? find(allStatuses, { id: action.in_reply_to_status_id }) + ? action.favorited_status : action const result = { @@ -314,17 +306,6 @@ const addNewNotifications = (state, { dispatch, notifications, older, visibleNot seen: !fresh } - if (notification.ntype === 'like' && !status) { - let broken = state.notifications.brokenFavorites[action.in_reply_to_status_id] - if (broken) { - broken.push(result) - } else { - dispatch('fetchOldPost', { postId: action.in_reply_to_status_id }) - broken = [ result ] - state.notifications.brokenFavorites[action.in_reply_to_status_id] = broken - } - } - state.notifications.data.push(result) if ('Notification' in window && window.Notification.permission === 'granted') { diff --git a/src/modules/users.js b/src/modules/users.js @@ -195,8 +195,6 @@ const users = { // Start getting fresh tweets. store.dispatch('startFetching', 'friends') - // Start getting our own posts, only really needed for mitigating broken favorites - store.dispatch('startFetching', ['own', user.id]) // Get user mutes and follower info store.rootState.api.backendInteractor.fetchMutes().then((mutedUsers) => { diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js @@ -300,9 +300,6 @@ const fetchTimeline = ({timeline, credentials, since = false, until = false, use notifications: QVITTER_USER_NOTIFICATIONS_URL, 'publicAndExternal': PUBLIC_AND_EXTERNAL_TIMELINE_URL, user: QVITTER_USER_TIMELINE_URL, - // separate timeline for own posts, so it won't break due to user timeline bugs - // really needed only for broken favorites - own: QVITTER_USER_TIMELINE_URL, tag: TAG_TIMELINE_URL } diff --git a/src/services/backend_interactor_service/backend_interactor_service.js b/src/services/backend_interactor_service/backend_interactor_service.js @@ -54,16 +54,6 @@ const backendInteractorService = (credentials) => { return timelineFetcherService.startFetching({timeline, store, credentials, userId}) } - const fetchOldPost = ({store, postId}) => { - return timelineFetcherService.fetchAndUpdate({ - store, - credentials, - timeline: 'own', - older: true, - until: postId + 1 - }) - } - const setUserMute = ({id, muted = true}) => { return apiService.setUserMute({id, muted, credentials}) } @@ -97,7 +87,6 @@ const backendInteractorService = (credentials) => { fetchAllFollowing, verifyCredentials: apiService.verifyCredentials, startFetching, - fetchOldPost, setUserMute, fetchMutes, register,