diff options
Diffstat (limited to 'src/features/messages.js')
| -rw-r--r-- | src/features/messages.js | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/features/messages.js b/src/features/messages.js index 99b5c48..b271bc9 100644 --- a/src/features/messages.js +++ b/src/features/messages.js @@ -5605,6 +5605,9 @@ export function messagesFeature(ctx) { const feedAuthors = (def = feedDef()) => { if (!def) return []; const set = new Set(def.follows ? followsNow().set : []); + // your own posts belong in the feed of the people you follow, as in + // every other client — not only for the moment after posting + if (def.follows && mePk()) set.add(mePk()); for (const pk of def.authors || []) if (pk) set.add(pk); for (const pk of def.priv || []) if (pk) set.add(pk); // a list's private members for (const pk of packAuthors(def)) set.add(pk); @@ -11772,6 +11775,8 @@ export function messagesFeature(ctx) { }); const authors = feedAuthors(def); const hasQuery = feedHasQuery(def); + // the follows feed of someone who follows nobody: only their own posts + const noFollows = !!def.follows && !followsNow().set.size && !(def.authors || []).length && !(def.priv || []).length && !feedTopics(def).length; prepareFeedAhead(c); // Never a bare spinner over posts we already hold: while the opening // page's faces and pictures are still being decoded, the cached rows @@ -11851,11 +11856,13 @@ export function messagesFeature(ctx) { h('span', { class: 'spinner sm' }), h('span', { class: 'small muted' }, t('feedOfLoading'))) : def.of && !hasQuery ? h('div', { class: 'small muted', style: 'text-align:center;padding:12px 0' }, t('feedNoFollowsOf')) - : !hasQuery + : !hasQuery || noFollows ? def.builtin ? h('div', { class: 'col', style: 'gap:8px' }, h('div', { class: 'small muted' }, t('feedNoFollows')), - h('button', { class: 'btn-sm', onClick: () => { stopFeedWatch(); hook('openUserSearch'); render(); } }, t('feedFindPeople'))) + h('button', { class: 'btn-sm', onClick: () => { stopFeedWatch(); hook('openUserSearch'); render(); } }, t('feedFindPeople')), + // your own posts, under the invitation + noFollows && visible.length && mediaMode === 'all' ? h('div', { class: 'card col notes-feed', style: 'gap:0' }, ...rows) : null) : h('div', { class: 'col', style: 'gap:8px' }, h('div', { class: 'small muted' }, t('feedNoQuery')), h('button', { class: 'btn-sm', onClick: () => openFeedEditor(def) }, t('feedEdit'))) |
