Don't throw the user into loading screen upon connectivity errors

(#1061) Feature Shipped performance ui

Problem

I'm writing this in frustration. Everytime I see Fluxer online, I open it to work on my new community, and as I'm writing a message, in the middle of it it throws me on the loading screen image I get that you are having issues and working on fixing them, but yesterday I lost the contents of my long post about 5 times. Related open discussions:
  1. https://feedback.fluxer.com/p/1000 (describe the issue partially)
  2. https://feedback.fluxer.com/p/975

Proposed solution

I suggest that in case you have updated the container, the Update button should be manual in the corner of the screen, not automatic. So that the user can finish their work in the UI before they click on it. I suggest also that instead of throwing me on the loading screen in case of a connectivity issue, you show a red line on top saying "failed to connect", as in old discord. nowadays Discord doesn't even do that. instead, they show me the cached version of the server, and when I go to an uncached server, it says "messages failed to load". I don't even get any interruptions in my workflow as a user. I think it's best to make it seamless with updates, errors, etc, like discord did. Even if discord sometimes has connectivity issues, it will preserve my undelivered messages locally. Additionally, it's good to preserve the content of the text fields when I leave text in them in say LocalStorage. I'm pretty sure Discord is doing that, as I'm reopening the app and the text is still there. For every contact in the DMs and for every channel in the server.
  • 557167786-d2ed28fd-47d4-4bfe-9d5e-717db8ac2c3f.png

    557167786-d2ed28fd-47d4-4bfe-9d5e-717db8ac2c3f.png

    711×537 | 23 kB

4 comments

Sign in with Fluxer to comment and vote.
Comment by @VioletJewel
RexSystem 1 vote originally by @VioletJewel on GitHub
Yes, in some places in my house, wifi isn't the best. Every few seconds the loading screen hogs the interface. I installed it minutes ago, as well. If it also deletes your message as OP says, that would also be much worse.
Comment by Hampus
HampusStaff 1 vote edited by moderator originally by @hampus-fluxer on GitHub
Note that this was submitted on March 3 (4 months and 23 days ago!), which was less than a month after Fluxer took off and we were battling some serious infrastructure issues. Everything ran on a single server that was quickly growing unsustainable as the user count was rising, since I had not at all expected anyone beyond a small group of people to be interested in Fluxer. Many people claimed this was clearly the fault of me as a developer at the time, but all issues were mostly exclusively infrastructure-related. Things started stabilising after we migrated things to a more distributed infrastructure.
"If it also deletes your message as OP says..."
It doesn't, I should add – this issue is 5 months old and doesn't reflect today's realities. Today, things are better, especially on Canary. However, there is indeed a known bug where the loading screen's appearance is a bit too trigger-happy. I started solving this on my dev build, but I took a more drastic approach that I think people will be happy for: I've found a way to eliminate the loading screen entirely, such that even if you lose connection, you can still use the app in a partially degraded state, with a banner appearing at the top of the screen informing you of this. Should be good soon!
Comment by @VioletJewel
RexSystem 1 vote originally by @VioletJewel on GitHub
Yes, we're all happy that there isn't a company selling data and trying to maximize user base to sell for most money while also severely violating user privacy. Thanks, and hi from a new user within the hour. Very good luck; I am rooting for you. I very much understand the stability issues, and I'm happy to wait for stability. I'm glad to be able to provide user testing.
Comment by Hampus
HampusStaff 1 vote originally by @hampus-fluxer on GitHub
This has been solved for quite some time now on canary by removing the splash screen for starters, replacing it with a much less obtrusive banner at the top of the screen, and entering that state less proactively.