hyperspacedev / hyperspace

The new beautiful, fluffy client for Mastodon in React + TypeScript
https://hyperspace.marquiskurt.net
Other
182 stars 26 forks source link

Timeline streaming fails on Pleroma #77

Closed iero closed 4 years ago

iero commented 5 years ago

Hello

I want to read every toot I receive. So I would like to have an option for hyperspace to load the new messages without auto-scrolling to the newest.

Thanks

issue-label-bot[bot] commented 5 years ago

Issue-Label Bot is automatically applying the label enhancement to this issue, with a confidence of 0.63. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

alicerunsonfedora commented 5 years ago

Is this for messages specifically or for a timeline?

Edit: I just want to be sure that I'm understanding your request correctly.

iero commented 5 years ago

Thanks @alicerunsonfedora for the question, it's for the 'Home' timeline. I let Hyperspace on a virtual desktop.

When I have time to read a few messages, I would like to be able to scroll them (from the last read message) and continue reading later.

alicerunsonfedora commented 5 years ago

Is this with version 1.x or 0.x? The auto scroll you are talking about might be a bug from 0.x and should be resolved in 1.x.

Sent with GitHawk

iero commented 5 years ago

I'm using 1b5.

In fact, if you scroll up to the top, you are automatically in a "autoscroll" mode (that you can disable if you just scroll down a little bit after).

I would like to disable this autoscroll with an option and see somewhere (in the app or as notification on the icon) that I have new messages to read.

alicerunsonfedora commented 5 years ago

Hmm, that sounds more like a bug and not a feature. You should be remaining in your place when new posts are loaded. That is, unless you are referring to what happens when you click the "Load x new posts" chip.

alicerunsonfedora commented 5 years ago

It seems that I am unable to replicate what you're describing as of the latest version of Hyperspace.

image
iero commented 5 years ago

Thanks !

When I'm in the standard Timeline view, I have not any "View 11 new post" item. The view is automatically updated to the newest post:

Screen Shot 2019-08-22 at 09 10 12
alicerunsonfedora commented 5 years ago

Ah, this appears to be a bug, then. Triaging as timeline defaulting to 0.x behavior unintentionally.

iero commented 5 years ago

Ok, I logged to mastodon (was logged on pleroma instance before) my account and I now I have the "new post" item.

But When I click on it, I jump to directly the newest and I need to scroll back to read the others.

I want to scroll from the "current one" to the newest.

alicerunsonfedora commented 5 years ago

The "Show new posts" button isn't quite intended to keep the scrolling position, and I'm not sure if that's what we want to accomplish at the moment since keeping the scroll position is rather difficult.

However, the fact that the button does not show on Pleroma is concerning. Will need to be added to the Pleroma list.

alicerunsonfedora commented 4 years ago

It does appear that the streaming APIs aren't working correctly on Pleroma, and I'm assuming this is due to the way streaming is handled in Pleroma.

Screen Shot 2019-10-05 at 17 45 41
alicerunsonfedora commented 4 years ago

As an update to this particular issue, it appears that the site we're testing from, pleroma.site, doesn't have streaming implemented as the following is returned:

{"error": "Not implemented"}
alicerunsonfedora commented 4 years ago

To reiterate from #65:

The streaming issue from my initial tests appears to be a problem with Pleroma not having streaming in this manner rather than an issue with Hyperspace. Attempting to switch to WebSockets also causes some issues on the browser side of things, namely due to the way Megalodon seems to handle them.

I'm guessing that streaming via HTTPS will make it to Pleroma sooner or later, but it appears as if other important features work just fine. For now, I'm going to mark this as complete.

iero commented 4 years ago

FYI I opened a case on Pleroma's git for that:

https://git.pleroma.social/pleroma/pleroma/issues/1468

feld commented 4 years ago

To clarify, Pleroma supports websocket streaming not the original Mastodon API SSE streaming. I thought I heard Mastodon was deprecating the SSE streaming, but I'm not a spokeperson for that project and am not certain. It's worth verifying in case your app relies on SSE streaming support.

alicerunsonfedora commented 4 years ago

Hyperspace does use HTTPS streaming (supposedly SSE, if worded) as we use the Megalodon library to access Mastodon. I haven't heard anything about Mastodon deprecating SSE streaming.

I'm hesitant to see about switching the client to use the web socket version as I'm not sure how well Safari will handle it, but it up for discussion. I recommend getting a new issue filed for it on board so it appears on our radar/internal tracker.