-
Notifications
You must be signed in to change notification settings - Fork 492
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
feat: Messaging continuity when node connection lost #1577
Conversation
@lidel -- per our chat earlier today, I believe this addresses everything except improving the detection/reload logic for when connection is dropped. I did move quite a bit around from |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
ps. found some new nits, but those are not related to this PR:
- when I click on the "Advanced" section gets expanded. But if I manually collapse this section and click on again it no longer expands.
- clicking on "Edit" opens Settings, but does not scroll to "API Address" section
Regarding nit 1, @rafaelramalho19, do you have any suggestions, since you added this bit in originally? 😊 Regarding nit 2, looks like anchor tags don't work as expected with react-router: https://stackoverflow.com/questions/48223566/using-anchor-tags-in-react-router-4 Regarding detection/reload logic -- is that something you'd want to do in this PR, or break it out into separate work? |
@jessicaschilling related to nit1, here's the fix: #1579 Nit 2 should be addressed with react-router-hash-link 😄 |
@lidel Unfortunately it looks like using react-router-hash-link isn't going to work unless we pull the default use of # in all our URLs. Is direct-linking critical at this point? I might recommend we punt on this until later. |
After discussion with @lidel, rearranging Settings page slightly as a workaround: What changed:
Re-requesting reviews all around. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two new(?) nits:
-
While on Settings screen, when I change API address to invalid one, or when my node goes offline, the last revision of config is still displayed. It may be confusing, as user may glance at invalid config from the old node and not realized webui failed to connect to the new one yet. Would it be ok to hide the JSON editor when API is offline?
-
When I shut down my node and open Files screen (without reloading the page), it displays connection error AND import drawer is expanded with "Imported 0 items" message – it hit me how confusing it looks. Quick fix would be to redirect to status page when offline, or at least hide the import drawer, if possible. If we only had Orange error, then user would instinctively refresh the page:
@rafaelramalho19 since you are the most familiar with the import drawer, is there a quick fix for (2)? Also, mind taking a look at the a11y question from previous comment?
Agreed! @rafaelramalho19, do you mind including this in the changes @lidel mentions above? Thank you 😊 |
Resolved the conflict created by CLI tutor mode merge. Also, CircleCI is behaving again 😊 I think we have two remaining items here:
Thank you! |
@rafaelramalho19 Thanks for the a11y clarity 😊 When I shut down my node and open Files screen (without reloading the page), it displays connection error AND import drawer is expanded with "Imported 0 items" message – it hit me how confusing it looks. Quick fix would be to redirect to status page when offline, or at least hide the import drawer, if possible. If we only had Orange error, then user would instinctively refresh the page: |
I wasn't able to replicate because I got redirected to the welcome page, is this replicable? 🤔 |
@rafaelramalho19 Afraid I was just able to replicate it on my local :( |
@rafaelramalho19 to replicate, avoid refreshing the page. Try:
|
Perhaps we should unblock v2.11 and merge this as-is and fill new issue for connection error AND expanded import drawer? |
@lidel This makes good sense, will do. |
Files page visual continuity issue is in #1606. Per #1577 (comment), merging. |
About
This PR addresses inconsistency of experience when the user loses API connection but still has Web UI open. See #1575 for original issue details.
Done
AboutWebUI
andAboutIpfs
get their own componentsIsConnected
gets its own componentIsNotConnected
gets its own component (which is used on the Status page now too)StatusNotConnected
and its associated i18n/storybook stuffTo do
Please note that these will require some help from @lidel and/or @rafaelramalho19 ...
IsNotConnected
component, or it could just mean displaying theIsNotConnected
component at the top of each individual page if connection is lost (this is how it's currently done on Status page)Closes #1575.