hypothesis / hypothesis/product-backlog

Asynchronicity issues between client and web

Open
#368 1 comment 0 reactions 0 assignees View on GitHub
OAuth
Dominant language
No language data
Stars
122
Forks
7
PR merge metrics
No merged PRs in 30d

Description

**## Bug report form**

Originally reported on Slack - #eng-general channel.

There are 2 **points of asynchronicity** I noticed when I was loading the client/website:

1. Not sure if this is a known issue, but it seems that web hypothes.is can fetch the hypothesis-reading group annotations (left side of screenshot) whereas the client can't - (n.b. I'm logged in).

![screen shot 2017-10-10 at 08 36 58](https://user-images.githubusercontent.com/5212631/31496092-ec090066-af51-11e7-98eb-04d2d98b19f1.png).

**Steps to reproduce:**

Log in to the client and load the 'Reading Group', then load web.hypothes.is and check to see if both views are in sync in terms of the annotations they are loading.

2. There is **asynchronicity between logged in/out states** between browser and client:

I'm noticing post oAuth implementation is that when I click 'login' upper right in the client, I am automatically logged into the last account I authenticated with. How am I able to choose another H account to login to if I am automatically logged in? The only way to login to my other H account is to go to web Hypothes.is and login there, the client then refreshes and I'm logged in.

Hopefully when we implement the multiple account login switcher control with the groups work some of the UX/UI challenges around current login between multiple accounts will be resolved. I think the current designs will make it easier for users to login to multiple domains if there is one primary account per domain, but given that the UI isn't aware of multiple existing accounts within the same domain when it loads the login control, this might continue to be an issue.

The following may be contributing to the issue reported above:
I think there are some asychronicity issues between the login state of web.hypothes.is and the client, e.g I am logged out of web.hypothes.is yet remain logged into the sidebar.

When I click 'login' now, it is defaulting to the oAuth form (correct behaviour) and not 'automatically' logging me in (oAuth flashes for a brief second and I am automatically logged in), which suggests the bug reported above is because 'log out' isn't executing properly in the browser and the logged in state is persisting in the browser session in spite the UI reporting that I am 'logged out'.

@robertknight @seanh @segdeha @dwhly needs further investigation.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the Reading Group annotation mismatch between the client and web.hypothes.is, then test the logged-in and logged-out flows described in the issue. Investigate whether browser authentication state persists after logout and whether the two views refresh consistently. Done means annotations and authentication state remain synchronized across the client and web experience.

Written by the indexing model from the issue text.

Assessment

Domain
authentication, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.