diff --git a/src/components/nav-menu.jsx b/src/components/nav-menu.jsx index 3ff380e19..4e2f789f0 100644 --- a/src/components/nav-menu.jsx +++ b/src/components/nav-menu.jsx @@ -85,7 +85,7 @@ function NavMenu(props) { return results; } - const hasBubbleTimeline = supports("@akkoma/bubble-timeline"); + const hasBubbleTimeline = supports("@akkoma/bubble-timeline") || supports("@chuckya/bubble-timeline"); const buttonClickTS = useRef(); return ( diff --git a/src/pages/public.jsx b/src/pages/public.jsx index 48e9cc57b..faae05b30 100644 --- a/src/pages/public.jsx +++ b/src/pages/public.jsx @@ -39,7 +39,7 @@ function Public({ variant = 'federated', columnMode, ...props }) { }[variant]; const source = { local: masto.v1.timelines.public.list, - bubble: masto.v1.timelines.bubble.list, // Bubble timeline isn't officially supported in Masto, but this seems to work nevertheless + bubble: supports('@akkoma/bubble-timeline') ? masto.v1.timelines.bubble.list : masto.v1.timelines.public.list, federated: masto.v1.timelines.public.list, }[variant]; @@ -53,6 +53,7 @@ function Public({ variant = 'federated', columnMode, ...props }) { const opts = { limit: LIMIT, local: variant === 'local', + bubble: variant === 'bubble' && supports('@chuckya/bubble-timeline') }; if (variant === 'federated' && supports('@pixelfed/global-feed')) { opts.remote = true; diff --git a/src/utils/supports.js b/src/utils/supports.js index 821a66984..2e7f47106 100644 --- a/src/utils/supports.js +++ b/src/utils/supports.js @@ -10,6 +10,7 @@ const notContainPixelfed = /^(?!.*pixelfed).*$/i; const containPleroma = /pleroma/i; const containAkkoma = /akkoma/i; const containGTS = /gotosocial/i; +const containChuckya = /chuckya/i; const platformFeatures = { '@mastodon/lists': notContainPixelfed, '@mastodon/filters': notContainPixelfed, @@ -25,6 +26,7 @@ const platformFeatures = { '@pixelfed/global-feed': containPixelfed, '@pleroma/local-visibility-post': containPleroma, '@akkoma/local-visibility-post': containAkkoma, + '@chuckya/bubble-timeline': containChuckya, }; const advertisedFeatures = { '@akkoma/bubble-timeline': "bubble_timeline",