-
Notifications
You must be signed in to change notification settings - Fork 38
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
[MS] Adds accept tos modal #8483
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
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.
I don't see tests for that feature
e96f74b
to
fc618f5
Compare
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.
The "normal" use cases seem to work fine:
- ToS defined in server, user logins, ToS dialog is displayed, user accepts ToS, login (OK)
- User logout, then login, no ToS dialog is displayed (OK)
- User logout, ToS updates in server, user login --> same as 1 (OK)
Issues
Wrong login status
- User is logged out
- TOS are updated in the server
- User tries to login, accepts the new TOS
- Login status is not updated (KO)
- Go to home, shows user is logged-in
- Return to org, login status is still offline (KO)
- Logout, then login, -- login status is online (OK)
App state if logged-in during ToS update
If the user is logged-in and the TOS are updated on the server. The application behaves unexpectedly:
- At first, nothing seems to change from the user perspective (menus are accesible, workspaces can be created, folders can be opened, files can be imported, etc.).
- However, some actions like attempting to sharing a workspace, result in an unrelated error:
This is very disturbing for the user, who is most certainly not aware of TOS update, and the apps seems to fail wirhout any reason.
What should be done in this case it should be carefully discussed:
- should the user be forced to log out? not great, since it could be importing files or editing a document...
- should we ask for TOS acceptance, but let them continue using until next login? asking for acceptance could potentially also block a current user operation
- should we ignore TOS update until next login? this seems the more natural and user-friendly alternative. Although it may need changes on the current TOS logic.
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.
Minor suggestions
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.
Some comments otherwise LGTM (I've mostly reviewed changes to the server/
directory).
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.
I've looked mostly at the libparsec part and it's looking good.
/// to connect to the server without delay. This is needed since, when offline, | ||
/// the connection monitor has a backoff mechanism to avoid hammering the server | ||
/// with connection attempts. | ||
ShouldRetryConnectionNow, |
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.
It's an idea for later. but could that event be useful in some other places too ?
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 (server part)
Co-authored-by: Marcos Medrano <[email protected]>
Co-authored-by: Marcos Medrano <[email protected]>
Closes #7633
Depends on #8471
To test:
python make.py i && python make.py ei
python update_tos.py <OrgName>
Don't forget to change the locale to check if the link is updated, you can add additional locales to update_tos.py, change their name, use
en_US
oren-us
oren
or some kind of variations to check if the GUI manages to find the most appropriate version.