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

[PAT-1383] Update iOS UI #166

Conversation

kaeramirez
Copy link

@kaeramirez kaeramirez commented Nov 8, 2023

Description

Updates the iOS UI to fetch Jane appointment details (treatment, treatment duration, start at + end at times and practitioner name) from state

https://jira-jane.atlassian.net/browse/PAT-1383

Release Risk Assessment

Low-med risk since iOS is harder to test

Demo Notes

N/A

QA and Smoke Testing

Expected Behaviour

  1. Book an appointment and start a call
  2. Ensure users can see the treatment information on the left side panel and modal in the waiting area with without PHI in JWT
  3. Smoke test major features
  4. Test in TestFlight and test the web app version of Jitsi as changes were made

Other Considerations

  • Will this affect other parts of the app or views?

Both the iOS version and the web app version of Jitsi

  • How can the success of this work be confirmed after release to production?
  • Must test on production once it is deployed to UK pod and join the call using an iOS device and must smoke test web app version as well
  • What QA have you already done?
  • Build without error in xcode but unable to visually confirm changes. We need to add this PR to iOS release branch in order to properly QA it in TestFlight

Screenshots

Before

After

@kaeramirez kaeramirez self-assigned this Nov 8, 2023
@kaeramirez kaeramirez added the Risk - Med Medium risk of disruption to codebase or infrastructure. label Nov 8, 2023
@kaeramirez kaeramirez force-pushed the pat-1383-update-ios-waiting-room-ui branch from 6fea956 to f7000af Compare November 9, 2023 16:59
@kaeramirez kaeramirez force-pushed the pat-1383-update-ios-waiting-room-ui branch from f7000af to d7d2b23 Compare November 9, 2023 22:31
@@ -169,7 +172,10 @@ class DialogBox extends Component<DialogBoxProps> {
const response = await checkRoomStatus(jwt);
const remoteParticipantsStatuses
= getRemoteParticipantsStatuses(response.participant_statuses, participantType);
const jitsiDetails = response ? response.jitsi_details : {};
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For iOS app we need to explicitly fetch from room status API and set jitsi_details here

Copy link

@bitghost2m bitghost2m Nov 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember fetching this in socketConnection.js. I'm assuming we had to do this again for native? just want to double check

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we have to explicitly do this again for the iOS app to ensure native UI can display the appointment details.

The history is because of a socket.io-client incompatibility issue there's a WebView for socket connections (with the socketconnection component within the WebView) in the native iOS app, see L458 of DialogBox.js . Because of this setup the webview and iOS app have have 2 different stores and operates in different environments so we need to fetch room status API again for the iOS app UI.

This was one of the tricky things @ivanjiang5628 and I were discussing with this PR. Hope I got this explanation right

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kaeramirez Thank you!

@kaeramirez kaeramirez marked this pull request as ready for review November 10, 2023 17:23
Copy link

@bitghost2m bitghost2m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes make sense to me. Just have one minor question.

@@ -169,7 +172,10 @@ class DialogBox extends Component<DialogBoxProps> {
const response = await checkRoomStatus(jwt);
const remoteParticipantsStatuses
= getRemoteParticipantsStatuses(response.participant_statuses, participantType);
const jitsiDetails = response ? response.jitsi_details : {};
Copy link

@bitghost2m bitghost2m Nov 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember fetching this in socketConnection.js. I'm assuming we had to do this again for native? just want to double check

Copy link

@ivanjiang5628 ivanjiang5628 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 LGTM

@kaeramirez kaeramirez force-pushed the pat-1383-update-ios-waiting-room-ui branch from b7f3237 to 14b58fb Compare November 16, 2023 18:18
@ivanjiang5628 ivanjiang5628 changed the base branch from master to ios-app-release-version-1.5.3-branch November 16, 2023 20:02
@ivanjiang5628
Copy link

We might also want to do a QA for the web app, given the changes to react/features/jane-waiting-area/components/SocketConnection.js and the refactoring of the overwriteLocalParticipantWithJitsiDetails action in this PR.

@ivanjiang5628 ivanjiang5628 changed the base branch from ios-app-release-version-1.5.3-branch to master November 20, 2023 18:04
@ivanjiang5628 ivanjiang5628 changed the base branch from master to ios-app-release-version-1.5.3-branch November 20, 2023 18:07
@kaeramirez
Copy link
Author

kaeramirez commented Nov 20, 2023

Test Plan

  • QA iOS app on Testflight, ensure appointment details are visible and user names are visible

image

  • QA web app version on s5, ensure appointment details are visible and user names are visible

image

  • Test both builds with 2 types of Jane repo branches: master and test on a branch that removes PHI from JWT
  • Test major features

Browsers

  • Chrome
  • new build of iOS app on iPhone and iPad

Pass PR in GitHub / Mark Ready for Release in Jira

  • Mark as "Ready for Release"

@ivanjiang5628 ivanjiang5628 merged commit fc799c9 into ios-app-release-version-1.5.3-branch Nov 20, 2023
1 check passed
ivanjiang5628 added a commit that referenced this pull request Nov 23, 2023
* fix an ios app compilation error that occurred in Metro bundler due to an incorrect import of a web app component in the notifcation/middleware.js file. (#161)

* [PAT-1383] Update iOS UI (#166)

* Update iOS UI

* Fetch room status for iOS

* Fix lint issues

* fix fix an issue when overwriting the local participant info in Dialogbox component

* Fix lint errors

* Remove local name check and ensure we always update user's name

* prevent re-overwriting the local user information when the waiting room falls back to polling.

---------

Co-authored-by: Ivan Jiang <[email protected]>

---------

Co-authored-by: kaeramirez <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Risk - Med Medium risk of disruption to codebase or infrastructure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants