elk-zone / elk

A nimble Mastodon web client
https://elk.zone
MIT License
5.25k stars 536 forks source link

Button to get additional replies from remote instance #996

Open lucahammer opened 1 year ago

lucahammer commented 1 year ago

Clear and concise description of the problem

As a user I want to see all replies to a post so that I know if what I want to add has already been said or not. At the moment only replies my home instance knows about are displayed.

Suggested solution

In the menu of the single status view we could provide an option to load more replies. Maybe in https://github.com/elk-zone/elk/blob/main/components/status/StatusActionsMore.vue

If the remote instance supports the Mastodon API, we can use the statuses/:id/context endpoint (https://docs.joinmastodon.org/methods/statuses/#context) to request up to 60 replies (without a Bearer token). Those can either be directly rendered and/or added to the database of the home instance through the search endpoint (https://docs.joinmastodon.org/methods/search/ with resolve parameter) so that other users see them without explicitly requesting them.

Alternative

No response

Additional context

Mastodon should implement such an option through the API and do the logic on the server. But it currently doesn't and from the open issues it's unlikely to be done soon. https://github.com/mastodon/mastodon/issues/18150 https://github.com/mastodon/mastodon/issues/22704 https://github.com/mastodon/mastodon/issues/22674 https://github.com/mastodon/mastodon/issues/21497 https://github.com/mastodon/mastodon/issues/9409 https://github.com/mastodon/mastodon/issues/34

Doing it from the client is only a work around, but it would improve the user experience and if Mastodon implements it some day, the UI could stay the same and only the logic get replaced.

stackblitz[bot] commented 1 year ago

Solve in StackBlitz Codeflow Start a new pull request in StackBlitz Codeflow.

KaKi87 commented 1 year ago

Hello,

Until this feature is officially added, I created a userscript that implements it :

Enjoy

lucahammer commented 12 months ago

@KaKi87 Thanks! I had to change some things to make it work for me (Firefox 115.0.2). Commenting here because I never got my account confirmation mail on your Forgejo instance. Leaving it here as it may help when implementing the feature and for other users of the userscript.

I am quite happy with it and hope it can be added directly to elk some day.

KaKi87 commented 12 months ago

@lucahammer

Thank you for reporting the issue with my email provider which I fixed (and I also manually activated your account).

Right now I'm focused on another Fediverse-related userscript of mine (Fediverse Redirector), so I'll look at your report later.

However, as I noticed that Elk/Mastodon aren't the only apps lacking this feature, I'll probably deprecate this userscript and create yet another one that I'd name Fediverse Resolver or something, that will support many other apps, e.g. Pixelfed & Lemmy.

(Just like I created Fediverse Redirector after deprecating a previously created Mastodon Redirector. Maybe next time I'll have learned my lesson. :sweat_smile:)