Giter Site home page Giter Site logo

covid-alert-ny / covid-green-app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from covidgreen/covid-green-app

6.0 6.0 1.0 12.83 MB

Covid Alert NY - React-Native App

License: Apache License 2.0

JavaScript 2.08% TypeScript 93.51% Starlark 0.13% Java 1.00% Objective-C 0.98% Ruby 2.31% Swift 0.01%
covid-19 gaen hacktoberfest

covid-green-app's People

Contributors

alansl avatar andreaforni avatar bre7 avatar ckiss avatar colmharte avatar dankohn avatar dharding avatar floridemai avatar helloantoine avatar hizo avatar jackmurdoch avatar jasnell avatar jh3y avatar johnagill avatar segfault avatar shaunbaker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

krnl-panic

covid-green-app's Issues

Integrate CircleCI

We are planning to use github actions to trigger a CircleCI build (and test suite run, under another ticket).

Implement Health Log

A user should be able to answer optional demographic questions and then daily answer the "My Health Today" symptoms.

If only 1 of the first 7 symptoms is selected (Fatigue -> Diarrhea), the user is shown a "low risk" version of the screen. If any of the last 4 symptoms (Fever -> New loss..) or more than one symptoms overall are selected, a "high risk" version of the screen is presented. This is documented in the flow below:

https://miro.com/app/board/o9J_kogLK_M=/?moveToWidget=3074457349247704214&cot=13

DOH UAT - "Find a Site Near You" URL Not Correct (HIGH)

Build: 1.0.0 (13)
OS: Both iOS and Android

Within My Health Log, when you log enough qualifying symptoms, and you are brought to the screen with the "Find a Site Near You" link, the link brings you to google.ro instead of the appropriate provider page.

Select a CI/CD Solution Including Automated Testing

We would like to automate builds for iOS and Android, run automated tests on real devices, and push passing builds to their respective store platforms for approval/review using a complete CI/CD solution.

  • Document options for CI/CD solutions
  • Document options for automated testing
  • Select build solution
  • Select automated testing solution

Translations to languages other than Russian and Chinese are not functioning

Translations are not working. For example, here are the translations for the "Back" button:

navbar.back | Back | Retounen | назад | পেছনে | 뒤 | 背部 | Espalda |

If you just stay on the "My Language" page and switch to the first two languages after "English", the "Back" label does change. But if you go to the 4th language onwards ("Kreyol ayisyen"/Haitian Creole), the label switches back to the Russian version (lang #2, назад). If you navigate out, you will see that all the labels remain in Russian instead of translating to the specified language. Spanish maps back to English.

Please fix to include at least Google translations of these languages while we obtain manual translations. Thank you.

Change the name of the app from "COVID Smart NY" to "COVID Alert NY"

Kindly change "COVID Smart NY" to "COVID Alert NY" in:

  1. the app and prototype visuals
  2. all references in the copy of the app, and

Assigning to @stuartgiles as the first step. Stuart, NYS requested we archive the current artwork so we don't lose it entirely if a future comparison has to be made. Also, can we kindly make the changes to the InVision prototype as well after you take care of the app itself? We still have a number of eye-balls on this and leaving InVision unchanged will cause a ton of confusion.

Thank you.

Configure APNS Entitlement for iOS builds

The current project setup does not include an APNS entitlement. This can be added, but I do not want to add it unless we are actually planning to use remote push notifications in the NY app. Until that time, App Store Connect will send a warning for all uploaded builds that the app uses APNS but does not have the entitlement. You can ignore this for internal TestFlight builds for the time being.

Define a list of test devices

As part of the AWS Device Farm configuration, we will need to define a list of devices, both Android and iOS-based, upon which our tests will be executed. I have reached out to Apple for any information they have regarding the number and types of iPhones in NYS. The Android devices would be so varied that we would be better off selecting a representative set across the most popular manufacturers and screen sizes.

Content needs translation

@kevin-sheldon , can you kindly get the following content translated in the columns it is in? If possible this should be translated in the same file. If you need to break it up into smaller sheets, your call, but if the app changes and the number of labels changes, we'll have a lot of trouble mapping it back. It would be best if the translators can do their translations and put them in directly in the correct cells. Please ask the translators to use the InVision prototype to obtain context. Our goal would be to replace as much of the Google translations to be manually translated as possible. Also, maybe mark each cell's background green so that we can easily keep track of which cells are done and which aren't? Thank you.

https://docs.google.com/spreadsheets/d/1yxC3TaVjPuXtbHp7qWEG0t_7UZUQ7nOvWvxAQ5It5us/edit?ts=5f3cf952#gid=149430619

@colmharte can you kindly double-check that this is the most up-to-date set of labels? If the labels are changed, we need to carefully merge it into this file. If we can pull in the content from this file mid-week so we can test some of the manual translations, that'd be great.

Allow tel: links to be defined in Markdown

Follows on from #47

Where Markdown copy describes a telephone number, it'd be useful to be able to define that in the Markdown so that it is rendered in the app as a pressable telephone number link.

Refactor BUILD_VERSION

In order to avoid having to remember to update the build/marketing version of the app in multiple places, we should refactor how we set the version to be set in a single place and then referenced in all appropriate places (e.g. build.gradle, xcode project, app version display).

Spanish translation isn't hooked up

Spanish translation isn't hooked up. It's in the spreadsheet as an auto-translation for now and so at least that should work prior to manual translations being available.

Integrate Firebase Remote Config

In order to be able to update the configuration of the app without releasing a new build to the app stores, we want to integrate with remote config. The app should fetch the latest remote config upon launch as well as when the app comes to the foreground.

Need internal jump menu

For QC purposes, we need an "internal" menu to jump to the screens/states that are otherwise inaccessible, such as proximity alerts, positive cases, error conditions, etc.

Improve Translation Import/Export

We currently have some simple script to import and export text content for the app in various languages.

As discussed in #32 this issue collects the improvements to be implemented.

  • Make the import/export scripts DRY
  • Make the import/export scripts not dependant on hardcoded language definitions (eg read from spreadsheet columns/files in directory)

DOH UAT - My COVID Alerts "Setup" Button Not Working to Enable Closeness Sensing (HIGH)

iOS 13.6
iPhone XS Max
Build: 1.0.0 (13)

If you skip onboarding process ("Skip for now" button) and do not enable Exposure Notifications, the "Setup" button does not work to allow you to enable Exposure Notifications at a later time. If you then try to enable My COVID Alerts via the Settings option, there is no option to enable Exposure Notifications.

MYCOVIDALERT_1

MYCOVIDALERT_2

MYCOVIDALERT_3

Share Icon and Text Incorrect

iPhone X, iOS 13.6, text size set to 3rd stop from the left, TestFlight build 1.0.0 (4)

Scope: Onboarding Screens

Issue: When you click on the Share Icon, or the button to Share the App, the icon and associated text on the iOS screen are incorrect. Should display the NYS COVID App icon and text. See attached screenshot.
Share Icon

DOH UAT - Can Log Multiple My Health Logs on Same Day (HIGH)

Build: 1.0.0 (13)
OS: Android

Android: Replicated by pressing 'I am feeling well today' then using the Back function of the Android device to return to the entry and pressing 'I am feeling well today'. Can be done multiple times and also with symptoms as long as 'Done' is not pressed on the next screen. Screenshot added.

iOS: You can also enter multiple logs. If you select "I am feeling well today" then swipe the screen from left to right to go back, it will allow you to enter another log for the same day and saves multiple logs.

Multiple My Health Log

DOH UAT - Allowed to Put "Placeholder" Text in My Health Log Overlay (LOW)

Build: 1.0.0 (13)
OS: Android

When using the search function in the My Health Log county picker, user was able to put in any text then hit the "X" button and the text still remained on the screen. User couldn't save entries though, likely because the word entered wasn't a valid county. This issue does not seem to exist on iOS.

Placeholder

Android App Crashes When Submitting Exposure Keys (CRITICAL)

The Android version of the app crashes when trying to share exposure keys.

Platform: Android
Build: 13

Error:

AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
Process: gov.ny.health.proximity, PID: 19935
AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'byte[] java.lang.String.getBytes()' on a null object reference
AndroidRuntime: 	at android.util.Base64.decode(Base64.java:119)
AndroidRuntime: 	at com.rajivshah.safetynet.RNGoogleSafetyNetModule.stringToBytes(Unknown Source:1)
AndroidRuntime: 	at com.rajivshah.safetynet.RNGoogleSafetyNetModule.sendAttestationRequest(Unknown Source:0)
AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
AndroidRuntime: 	at com.facebook.react.bridge.JavaMethodWrapper.invoke(Unknown Source:149)
AndroidRuntime: 	at com.facebook.react.bridge.JavaModuleWrapper.invoke(Unknown Source:21)
AndroidRuntime: 	at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:883)
AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:100)
AndroidRuntime: 	at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(Unknown Source:0)
AndroidRuntime: 	at android.os.Looper.loop(Looper.java:214)
AndroidRuntime: 	at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(Unknown Source:37)
AndroidRuntime: 	at java.lang.Thread.run(Thread.java:919)

Steps to reproduce:

  1. Complete the onboarding normally
  2. Go to the "My COVID Alerts" tab
  3. Tap on "What to do if you test positive COVID-19"
  4. Tap on "Share your Close Contact Codes"
  5. Enter any code
  6. Tap the "Next" button
  7. App will either crash at this point or after you allow Android to share your keys (depending on if you have allowed this successfully before)

Update README.md to describe TEST_TOKEN

The verification process while in the simulator requires a TEST_TOKEN to be defined in the .env file because the DeviceCheck API does not work. Update the README.md to expain this.

DOH UAT - County Selection Causes Fatal App Crash (CRITICAL)

Build: 1.0.0 (13)
OS: Both iOS and Android

When toggling to the different county charts on the NY COVID Data screen for the counties Warren, Washington, Westchester, Wyoming and Yates, the app crashes completely. Attempts to restart app are met with a blank purple screen (Android), and a blank white screen (iOS). Restart of device did not fix. Uninstalling and redownloading the app was needed to return back to normal functionality. Clearing data from the Android Settings menu for the COVID app also allowed it to start again, but in default state. Clearing only the cached data from the Android Settings menu for the COVID app did not fix the issue.

Inconsistent behavior when Bluetooth is disabled (Android and iOS)

Repro steps:

  • complete on-boarding flow, consenting to both EN and push notifications.
  • land on app in "ready" state
  • background the app
  • turn off Bluetooth
    ==> On Android this triggers a push notification. On foregrounding the app, both platforms I see the app continues to report it is in the "contact tracing active" state.
    ==> On iOS I do not get a push notification. On my installation, the app indicates it is still tracing. My colleague's app does not present a push notification, but DOES indicate tracing is not happening and prompts the user to enable bluetooth.

Another tweak on this flow (I am seeing this behavior on iOS and Android):

  • turn off Bluetooth
  • then complete the onboarding.
    ==> I was expecting the app to turn on Bluetooth for me, or maybe prompt to tell me this is what it would do. It does neither for me. The app reports is it contact tracing.

Devices used: iPhone 11 Max Pro running 13.6; Pixel 4 XL running Android 10

DOH UAT - My Health Log Not Saving If You Close App (HIGH)

Build 1.0.0 (13)
Tested on both iOS and Android

If you submit your responses for My Health Log for the day, and close out of the app (not delete, but full app close) then restart, the current submission deletes and user is forced to start over again.

Failure to register inaccurately indicates that the user is offline

If for some reason the register call fails (e.g. iOS version does not support DeviceCheck, the app is running in the iOS simulator without a TEST_TOKEN, other network related issue with the API call) the app displays an error indicating that the device has a connection issue. This will lead to a user being confused and checking their internet settings.

The error should be related to the actual problem.

Integrate codepush

In order to update the app bundle without a new app store build for critical/timely updates, we should integrate with codepush and write a script to generate targeted codepush bundles.

Close icon requires 2 or 3 taps

Close icon on top left of most overlays is not usable. Requires many, indeterminate number of taps before it activates. You can see this in "How It Works" and any of the Health Log selectors.

DOH UAT - Enhancement - Ability to Edit My Health Log for Current Day

Will check with DOH business stakeholders, but submitting enhancement idea to allow for an individual to edit the My Health Log entry for current day only.

Business Use Case: I enter at 7am that I have no symptoms, but by 4pm same day, I develop Fever, Cough, and other symptoms. Should I have the ability to edit my entry for the day and based on edited results, be presented with the correct result screen.

DOH UAT - Clicking "Device Settings" to Enable EN Does Not Bring You to Appropriate Settings Screen (HIGH)

iOS 13.6
Build: 1.0.0 (13)

If you click on "Device Settings" to enable Exposure Notifications, it just brings you to the main iOS settings page. It should bring you directly to the settings screen to enable EN (Settings > Privacy > Health). If the user tries to enable or re-enable EN after the onboarding process, they will not know how to get to the screen to enable if it just brings them to the main iOS settings page.
DeviceSettings_1
DeviceSettings_2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.