Bug Bash - 2024-01-26 SSO Login

Bug Bash - 2024-01-26 SSO Login

Bug Bash Fundamentals

What is a bug bash?

It’s a collaborative event where the whole team, no matter what their role is, comes together to try to “break” the application in creative ways ahead of a release. The goal is to find as many bugs as possible in a short period of time, and since every person in the team will have their own unique perspective and use the application in different ways, there are better chances of uncovering issues, defining how severe they are and if needed fixing them ahead of the release. It’s also a great opportunity for people to spend some time familiarizing themselves with the application and putting themselves in the shoes of one of our users. And last but not least, breaking things can actually be fun! By doing bug bashes often, we’re cultivating a blame-free culture where we take bugs as a chance to bond as a team, learn and improve.

How do I participate?

  1. If you’re willing to collaborate with this bug bash, please write your name down in the Participants section. If possible add details about what language(s) you’re using on LiteFarm settings when testing the app, as well as which user role(s) you’re logging in as. This will help us know if there are any languages or roles not currently being covered by anyone. For this release in particular, since we’re testing SSO login if possible also add details about which language your browser is set to and which language you have chosen in your Google profile.

  2. Read through the scope of what we’re testing in the Scope section. The scope will usually be defined based on what kind of changes we are pushing out on the upcoming release and it’s a guidance on which are the main things to keep an eye on. That being said, if you do find any bugs that are unrelated to the scope, feel free to report them anyway.

  3. If the bug bash is done synchronously, there’ll be a meeting where we all come together and test at the same time with a time box. If it’s done asynchronously, we’ll aim to have the session open for enough time that people in different timezones are able to participate. In that case, feel free to participate whenever you can and have the time and to time box depending on what your schedule looks like. Everything helps, so even if you only have limited time to test, you might discover something that nobody else has found before. Information on the timing of the meeting or asynchronous session can be found in the Session details section

What do I do if I find a bug?

First off, congratulations on finding it! To report the bug, head over to the Bugs section and add a new row in the table. The row should include your name and a brief description of the bug, on the Details field please add as much information as possible. Please provide reproduction steps and expected/actual behavior, and if you have the time, screenshots or video recordings of what you encountered will be extremely helpful. You don’t need to fill out the Pre-existing, Priority or Blocker fields as those will be filled out once the session is over.

What happens after the bug bash?

Once the bug bash session is over, the team will go over the list of bugs that were found and prioritize them. For each issue, we’ll try to answer these three questions:

  • Was this bug caused by the change we’re aiming to push out on this release, or does it currently exist in production?

  • How severe and how frequent is this bug, or in other words, what’s the priority for fixing it?

  • Should this bug block the upcoming release?

No matter the result, if the issue found is something we’d like to fix eventually, we’ll create the corresponding ticket in Jira and add it to the Backlog. If we come to the conclusion that one or more bugs are actually blocking the upcoming release, we’ll add those tickets to the current sprint and give them the highest priority. If no bugs are found that are blocking, we’ll proceed with the release process as normal and work on the reported issues in future sprints depending on their priority.

Participants

Name

LiteFarm language(s)

User role(s)

Browser language(s)

Google profile language(s)

Name

LiteFarm language(s)

User role(s)

Browser language(s)

Google profile language(s)

E.g.: @Anto Sgarlatta

E.g.: Spanish, English

E.g.: Farm Owner, Farm Worker

 

 

@Denis Dovganyuk

English

Farm Owner

French

Ukrainian

@Sayaka Ono

English

Farm Manager

Japanese

Japanese

@Joyce Sato-Reinhold

English / User Profile none (db ja)

Farm Owner

Japanese

English

@Anto Sgarlatta

Spanish

Extension Officer

Spanish

Spanish

Scope

This bug bash will be focused on testing Hotfix 3.6.3. The purpose of the patch is to fix various issues related to SSO login:

We’re also including this small bugfix for a bug that was caused by the last hotfix:

The main focus of the session should then be on the login, particularly SSO, and onboarding flow in general. For more details on some of the things to assert for, check out the User Stories below.

Since there are different language settings at play here (LiteFarm language, browser language and Google profile language), we’re also trying to test as many combinations as possible of those three and see how they interact, including choosing languages that are not supported by LiteFarm in the browser and Google settings.

User Stories

As a (potential) LiteFarm user of any role:

  • When I visit LiteFarm without being logged in, I am able to see an option to login through SSO with my Google account.

  • When I click on the Google SSO button, I’m redirected to a page from Google where I can choose which Google account to use for login.

  • After choosing a Google account to login, I’m redirected to the Welcome screen and can start using the application.

  • If I create a Google account without a last name or any optional field set up and use that account to login to LiteFarm, I am also redirected to the Welcome screen and can start using the application normally.

  • If I access LiteFarm though an invitation sent out by another user, all of the above also applies.

  • When I click on the Profile image on the top right corner of the nav bar and click on “My Info”, I can see that my details were filled out with the information from my Google account. I can see a “Birth date” and a “Gender” field.

  • When I edit any of the fields in “My info”, I can click on the “Save” button and my changes are preserved.

Known Issues

  • https://lite-farm.atlassian.net/browse/LF-4030

  • We are aware that clicking on the Back button when on the Welcome screen doesn’t lead you back to the login page.

  • We are aware that the Welcome and Choose farm screens don’t have a logout button available.

    • Cannot switch user without completing onboarding flow

  • We are aware if Google Maps is down user cannot complete onboarding

    • consider if we need a farm address to complete onboarding

  • Route2 console error/warning

    • Screenshot 2024-01-29 at 9.26.00 AM.png
    • Screenshot 2024-01-29 at 9.29.33 AM.png

       

Session Details

Synchronous or asynchronous?

Asynchronous

When?

From Friday Jan 26th 9.30 AM PST to Monday Jan 29th 9.30 AM PST

Where to test?

LiteFarm (Beta)

Bug Reports

Reporter

Description

Details

Pre-existing?

Priority

Blocker?

Also seen by

Reporter

Description

Details

Pre-existing?

Priority

Blocker?

Also seen by

E.g.: @Anto Sgarlatta

E.g.: The SSO button is not clickable

E.g.:

Repro steps

  1. Access LiteFarm logged out

  2. Click on the Google SSO button

Expected

Should navigate to the Google page to choose an account

Actual

Nothing happens

Screenshots/videos

 

E.g.: No

E.g.: High

E.g.: Yes

 

@Duncan Brain

User profile does not match onboarding requested user details for name. Assumes your last name based upon Full name field.

Repro steps

  1. Sign up as a new (not SSO) user “Mary Jo Deschanel

  2. Backend assumes your last name is “Jo Deschanel”

Expected

  1. Full name + preferred name is used throughout the app or fname + lname is used throughout the app not both.

Actual

  1. See screen shot

Screenshots/videos

signup

Screenshot 2024-01-26 at 2.09.43 PM.png
user profile
Screenshot 2024-01-26 at 2.10.31 PM.png

 

Yes

Low

Consensus on ‘no’

 

@Sayaka Ono

Save button on the profile page is enabled without any modification

Repro steps

  1. login and go to /profile

  2. click any input and click away

Expected

The save button is disabled

Actual

The save button is enabled

Screenshots/videos

 

Low

Kevin doesn’t think so

 

David :Potentially.

Curious why not?

 

 

@Sayaka Ono

Save button on the profile page is not disabled after clicking it (might be related to the bug above)

Repro steps

  1. go to /profile, make a change and hit Save

  2. observe the save button

Expected

The save button is disabled.

Actual

The save button is still clickable.

Screenshots/videos

 

@Denis Dovganyuk thinks it is based on “Language” being unselected.

Medium

“No” by consensus.

 

@Sayaka Ono

The app crashes on the home page once the user saves the user profile without preferred language

Repro steps

  1. set the chrome browser language to Japanese (not LiteFarm supported) and create an google account with language setting Japanese (not LiteFarm supported) Thank you Joyce!

  2. finish the onboarding flow on the LiteFarm app

  3. go to /profile and click the first name input and click away to enable the save button

  4. click the save button

  5. click the LiteFarm logo on the top left to go to /

Expected

The app does not crash.

Actual

The app crashes with the error message - “Incorrect locale information provided at Date.toLocaleDateString”

Screenshots/videos

 

 

Very High

“Yes” by consensus.

@Anto Sgarlatta on the fence.

 

Fix scope:

Update input validation on “Language”.

 

Later scope:

Choose first language from browser languages that LF supports and default to ‘en’ if none found.

Migrate existing users with unsupported language preference to ‘en’.

@Joyce Sato-Reinhold
(Language was taken from Chrome setting and not Google Profile setting to get into no language in dropdown / db ja. Also reproducible with password account). Also reproducible from creating a task (rather than navigating home) with the same error message.
@Denis Dovganyuk
Just want to remind that we had the same bug during the last sanity week, but the way to reproduce it was about different here is the ticket https://lite-farm.atlassian.net/browse/LF-3814
@Denis Dovganyuk thank you, helpful! I think the difference between the two is that the bug above would occur even in browsers already set to LF language, but this instance requires a non-LF language

@Joyce Sato-Reinhold

Language of invitation read-only on invite screen until required fields are interacted with

Repro steps

  1. Go to /invite_user

  2. Observe form fields

Expected

No fields read-only

Actual

“Language of invitation” is read-only until name + email are interacted with (note: it is interaction and not validation that triggers the change from readonly – i.e. the email can be invalid and the form non-submittable but the language dropdown will become active)

Screenshots/videos

スクリーンショット 2024-01-26 午前11.25.10.png



 

Low

“No” by consensus.

 

@Denis Dovganyuk

The user is not able to login if he previously was invited and he hasn’t opened the invitation yet.

Repro steps

  1. Using your existing account - invite a user

  2. Open the website LiteFarm

  3. Try to login using SSO method

Expected

You are logged in and you are able to find the invitation or you can create new farm

Actual

The first time you see the error message, the 2nd time when you try do the same , nothing happens and the user is not able to login

Additional context:

In my understanding such thing may happen that the user will delete the email or will even forgot that he received it. In this case he should be able to login and to create the farm if there is a need.

Screenshots/videos

Video_240126220530_Slice.mp4

 

 

Medium

“No” by consensus.

 

@Sayaka Ono

Birth year input in the profile page is not validated properly

Repro steps

  1. login and go to /profile

  2. delete the existing birth year at once

  3. refresh the browser and delete the existing birth year one number at a time and click away

Expected

  1. Since it’s an optional field, the save button is enabled.

  2. The user does not see any errors.

Actual

  1. The save button remains disabled, and the user cannot save the change. Even if the user change the language, the save button is still disabled.

  2. An error message is displayed.

Screenshots/videos

 

 

Medium

“No” by consensus.

 

@Sayaka Ono

Side navigation moves up on clicking the language select on the profile page


Repro steps

  1. go to /profile

  2. click the language select

Expected

The side nav does not move.

Actual

The side nav moves up

Screenshots/videos

 

 

Medium

“No” by consensus.

 

@Denis Dovganyuk Also see this , and want to add , that the “Save” button button becomes not visible once you open the drop down list.

@Joyce Sato-Reinhold and dislike very much

@Joyce Sato-Reinhold

When adding a new farm on an existing account, proceed button is greyed out if you return to the farm select page (“Go Back” is available and acts the same in both new and existing farms and reviews all pages of the form with answers cleared)

Note: not sure if the Proceed button behaviour is as desired or not. Will leave a video

Repro steps

  1. Create a new account and a farm

  2. Go to add farm; complete the new farm creation flow up to the consent page

  3. Go back using the < to the farm selection page

  4. Hit “Go Back”

Expected

Proceed button is available and acts the same as the “Go Back” button does (reviews each step of the form in order, clearing your answers)

Actual

Only “Go Back” button is available, which proceeds through the flow.

Screenshots/videos

スクリーンショット 2024-01-26 午後12.39.04.png


Re: note. If it is the first farm on the account, the proceed button is available and acts like this. Basically it goes to the last interacted page, and if you step back it shows the required (but not optional) answers cleared. That seems a little fishy but it might be correct?

trimmed-proceed.mov

 

Low

“No” by consensus.

 

@Sayaka Ono

Optional tag is missing in Last name input label

Repro steps

  1. go to /profile

Expected

“Last Name” label has “(optional)”.

Actual

The Last Name input looks like a mandatory field.

Screenshots/videos

 

Medium

No; but should be included in fix for “Language” validation.

 

@Joyce Sato-Reinhold

Farm workers are shown spotlights for a bunch of actions they cannot perform

Repro steps

  1. Invite a worker to your farm who has not yet clicked through the crops spotlights

  2. Accept the invite with that user (can be new account or not, doesn’t matter)

  3. Navigate to the crops page

Expected

Shown relevant spotlight for my level of account access

Actual

Blank crop page with spotlight explaining I should be able to add crops (I cannot) and a highlight prompting typing into the search bar (which does nothing). If there is a crop variety on farm, spotlight explaining I can add a crop management plan (not possible) or edit the crop variety details (not possible).

Screenshots/videos

 

Medium

“No” by consensus.

 

@Joyce Sato-Reinhold

Menu expansion animation replays the first time you navigate to invite_user

Repro steps

  1. Log in freshly

  2. Navigate to people > invite user

Expected

Form loads

Actual

Form loads, then navigation menu animation plays again

Screenshots/videos

menu-animation.mov

 

 

Low

“No” by consensus.

@Sayaka Ono the user is navigated to /invite_user/invite_user? and the animiation is seen in the second one (reproducible by opening a new window)

@Sayaka Ono

Invitation email is sent in English even if another language is selected

Repro steps

  1. Go to /invite_user to invite a user that does not have language preference

  2. Fill in the required fields and select Spanish, Portugese or French for “Language of invitation”

  3. Check the invitation email

Expected

The email is sent in the selected language.

Actual

The email is in English.

Screenshots/videos

 

 

Lowest?
Or as I understand that is not a bug at all.

“No” by consensus.

@Joyce Sato-Reinhold I also see this, but only when it is a pre-existing account OR a pre-invited account (whose invite has never been accepted! Regardless of the language of the original or subsequent invites; the default is EN)Sending to an entirely new account respects the language in the dropdown