Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extra table renderings when there is nothing (tabs History, NFTS) #49

Closed
isopen opened this issue Sep 20, 2022 · 6 comments
Closed

Extra table renderings when there is nothing (tabs History, NFTS) #49

isopen opened this issue Sep 20, 2022 · 6 comments
Labels
duplicate This issue or pull request already exists

Comments

@isopen
Copy link

isopen commented Sep 20, 2022

Bug Type

UI/UX

Reproduction steps

vokoscreenNG-2022-09-21_05-13-27.webm

Actual result

Extra table renderings when there is nothing.
When loading tabs, extra tables appear and immediately disappear. (tabs: History, NFTS)

Expected result

In serious applications, this should not work.
Fix the application life cycle (False table views should not flicker)

Suggested Severity

Critical

Device

Desktop (please complete the following information):

  • OS: Ubuntu 22
  • Browser Google Chrome
  • Version 105.0.5195.52

Additional Context

No response

@ingria ingria changed the title Application lifecycle is broken Contract tab is broken Sep 21, 2022
@ingria
Copy link
Contributor

ingria commented Sep 21, 2022

I can't see how application lifecycle has something to do with this error.

Dupe #41

@ingria ingria closed this as completed Sep 21, 2022
@ingria ingria added the duplicate This issue or pull request already exists label Sep 21, 2022
@isopen
Copy link
Author

isopen commented Sep 21, 2022

I can't see how application lifecycle has something to do with this error.

Dupe #41

@ingria This is not a duplicate of #41.

Extra table renders when there is nothing!
Please watch the video. This is due to the content rendering queue in the application.
It's not about the division of contracts. Which still doesn't work!

  1. Why are you correcting the title of the ticket? I liked the past better.
  2. Why are you in a hurry to close the ticket without understanding it?

@isopen isopen changed the title Contract tab is broken Extra table renderings when there is nothing Sep 21, 2022
@isopen isopen changed the title Extra table renderings when there is nothing Extra table renderings when there is nothing (tabs History, NFTS) Sep 21, 2022
@ingria
Copy link
Contributor

ingria commented Sep 21, 2022

This is called “preloader” or “skeleton” and it indicates that the app is loading data. Skeleton is always shown until the ajax request resolves (either with error or with data).

The only problem that I see here is that skeleton doesn’t disappear on inactive address “contract” tab because of api error.

I’ve changed the title because this problem has nothing to do with application lifecycle. If you think I’m wrong, please explain where exactly in the lifecycle there’s an error.

@isopen
Copy link
Author

isopen commented Sep 21, 2022

@ingria Thanks. Your comment is great.

  1. In the case of an ajax request, you can first get the data.
  2. In the process of receiving data, show the loader.
  3. Draw the table itself along with the data.

This strategy should ensure that the view is visually static.
An example can be viewed in TON DNS when searching domain (https://dns.ton.org/#test123).

Sorry, I wrote badly about the life cycle. You can formulate this as the life cycle of the query and display of data.

@ingria
Copy link
Contributor

ingria commented Sep 24, 2022

"Skeleton" is just another type of loader. It is not rotating and round, yet it is still some entity indicating that the data is loading.

Unfortunately, displaying round spinning loader is not an option, because every page loads data from several different places (APIs). Some data is fast to fetch (like balance), some is slow (like contract type). Notice, how different "skeletons" take different amount of time to load:

example1.mp4

Displaying many spinning loaders would not look nice. Also, for the same reason we cannot display one big loader and wait until all data on the page is loaded - it would take too much time. Better display piece of info when it's ready, right away.

@isopen
Copy link
Author

isopen commented Sep 24, 2022

You can try to make a loader for the first start of the table. I considered the case of the first entry to the page (the case of reloading the page on the browser button).
This can reduce flickering when the table is first started?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

2 participants