Page MenuHomePhabricator

Consider to show sites asynchronously
Open, Needs TriagePublicFeature

Description

Hi. Right now the promises are running asynchronously to retrieve the data from all the sites, and at the moment all of them are ready the entire page is displayed. As a result if one cite takes more time we can't see the rest that are always ready. I think we should consider a system refactoring which moves the visual part into the promises such that every time the $feedDiv for some site is ready, it will be shown immediately, not waiting for the rest, as it happens about line 120. What do you think, is it a good idea or not? Thank you.

Event Timeline

If this change would cause the page content to shift as the data for each wiki comes in, users would still have to wait for every wiki to be finished before they can start using the page. It may feel worse than before, even if it would be faster.

I think it would be a good idea only if it could be done without introducing such content shifts – maybe if the whole page was redesigned to use e.g. tabs for each wiki instead of the current layout, but I don't know how people who actually use GlobalWatchlist would feel about that :)

If this change would cause the page content to shift as the data for each wiki comes in, users would still have to wait for every wiki to be finished before they can start using the page. It may feel worse than before, even if it would be faster.

Can you explain why? The page works like a feed, so each new wiki will appear at the bottom, without shifting anything at all. I can add a button to sort the sites in user-defined in settings order, if it makes things better. Because sometimes I wait five or ten seconds before the results appear, and I'd like to find a way to reduce this time for the user.

In my experience the sites are currently always shown in the order defined in settings. I thought it was a feature :)

In my experience the sites are currently always shown in the order defined in settings. I thought it was a feature :)

It is. But not waiting so much time is better feature. It can be done by settings, jf you prefer, a boolean flag - wait for everything and show ordered or show on the fly without order.

If you change the order to display whichever site's data loaded first, that would resolve my concerns, but I don't really use GlobalWatchlist daily, and I don't know how much people rely on the order. I hope someone else can comment on that.

If you change the order to display whichever site's data loaded first, that would resolve my concerns, but I don't really use GlobalWatchlist daily, and I don't know how much people rely on the order. I hope someone else can comment on that.

Can you explain what's wrong in placeholders?