molaidrisLabs logo
molaidrisLabs QA Control Plane
NaptiQCare · iOS QA Findings Report
NaptiQCare iOS QA Findings Report
49 findings · 17 fixed · 0 open blockers · 5 open critical findings · Based on reviewed iOS recordings, screenshots, and tester notes

iOS QA execution evidence · Consolidated report

I have documented the NaptiQCare QA findings below. Each finding includes how I reproduced it, what should happen, what I observed, severity level, and screenshots where available.

Open blockers 0User cannot complete core flows.
Open critical 5Data integrity or identity risk.
Open high 14Major user or workflow failure.
Fixed17Verified resolved findings.
Total findings49All findings I discovered.
Open risk: Five open critical findings and fourteen open high findings remain. No open blockers remain marked.

overall severity count: 2 blockers, 9 critical, 22 high, 13 medium, and 3 low findings.

Review scope and source files

App under test: NaptiQCare iOS app (which I tested). My findings come from recordings I captured and screenshots I took during testing.

Evidence note: All twenty-eight supplied iOS screenshots are displayed below.

Supplied iOS screenshots

I captured twenty-eight iOS screenshots during testing. The first sixteen are from the original test batch, followed by twelve additional screenshots from the new bug investigations.

Healthcare Facilities card showing the Medical_Clinic label
Healthcare Facilities card showing the Medical_Clinic label IMG_1968.PNG
Directions screen showing Directions Not Available
Directions screen showing Directions Not Available IMG_1969.PNG
Daily steps update showing a save error
Daily steps update showing a save error IMG_1974.PNG
Prescription conversation showing the prescription input state
Prescription conversation showing the prescription input state IMG_1975.PNG
Prescription conversation showing interval and start-date handling
Prescription conversation showing interval and start-date handling IMG_1976.PNG
Prescription conversation repeating the start-date request
Prescription conversation repeating the start-date request IMG_1977.PNG
Medical condition conversation requesting the wrong tool details
Medical condition conversation requesting the wrong tool details IMG_1978.PNG
AI response requesting location details for nearby hospitals
AI response requesting location details for nearby hospitals IMG_1979.PNG
NaptiQCare website Page not found screen
NaptiQCare website Page not found screen IMG_1980.PNG
Create Account screen with referral code
Create Account screen with referral code IMG_1981.PNG
Create Password error screen showing the error message
Create Password error screen showing the error message IMG_1982.PNG
Unable to create profile screen
Unable to create profile screen IMG_1983.PNG
Settings screen showing the Change Password option
Settings screen showing the Change Password option IMG_1984.PNG
Refer and Earn screen
Refer and Earn screen IMG_1985.PNG
Change Password error screen showing the error message
Change Password error screen showing the error message IMG_1986.PNG
Unable to create profile screen after repeated signup
Unable to create profile screen after repeated signup IMG_1987.PNG
Activities History empty state showing no records found
Activities History empty state showing no records found IMG_2094.PNG
Activity Tracking page showing running workout logged
Activity Tracking page showing running workout logged IMG_2095.PNG
Nutrition tab showing invalid JSON error with meal image attached
Nutrition tab showing invalid JSON error with meal image attached IMG_2097.PNG
Nutrition tab showing meal type dropdown opened with snack option visible
Nutrition tab showing meal type dropdown opened with snack option visible IMG_2099.PNG
Nutrition tab showing meal form with snack selected in dropdown
Nutrition tab showing meal form with snack selected in dropdown IMG_2100.PNG
Vitals tab showing blood pressure and heart rate entries with plain circle icons
Vitals tab showing blood pressure and heart rate entries with plain circle icons IMG_2102.PNG
Vitals tab showing blood pressure and heart rate with same plain circle icon in todays readings
Vitals tab showing blood pressure and heart rate with same plain circle icon in todays readings IMG_2103.PNG
AI Chat showing internal server error banner at top
AI Chat showing internal server error banner at top IMG_2104.PNG
AI Chat with internal server error and user messages shown
AI Chat with internal server error and user messages shown IMG_2105.PNG
Healthcare Facilities screen showing facility cards with opened now and closed status
Healthcare Facilities screen showing facility cards with opened now and closed status IMG_2107.PNG
Healthcare Facilities screen showing another facility with opened now and closed status labels
Healthcare Facilities screen showing another facility with opened now and closed status labels IMG_2108.PNG
AI Chat stuck in infinite loading state with keyboard open
AI Chat stuck in infinite loading state with keyboard open IMG_2110.PNG

Detailed bug findings

Open findings are listed first. Fixed findings are listed at the end with a green checkmark. Each finding includes the reproduction path, expected behavior, actual behavior, and evidence status.

BUG-52

Activities History shows no records while Activity shows saved activities

Medium
AreaActivity historyEvidenceiOS screen recording

Steps to reproduce

  1. I opened the Activity page and confirmed that saved activities were visible.
  2. I opened Activities History.
  3. I compared the history result with the activities shown on the Activity page.

Expected result

Activities History shows the same saved activities that appear on the Activity page.

Actual result

Activities History shows No records found, while the Activity page shows saved activities.

Evidence

I recorded this mismatch in ScreenRecording_08-23-2026 17-39-09_1.MP4. At the start, Activities History shows No records found. The Activity page then shows saved activities.

BUG-43

Food recognition fails to allow retry with updated description

High
AreaNutrition and AIEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Snap or upload a meal photo
  2. AI misidentifies the food (e.g., porridge as eforiro)
  3. Edit the description field with correct food name
  4. Try to save

Expected result

The app recalculates calories based on the new description

Actual result

Calories remain locked to the incorrect AI identification. No retry or recalculation occurs.

Evidence

Evidence from iOS screen recordings and tester notes. Screenshots are shown in the supplied iOS screenshot gallery.

BUG-44

Meal type selector does not update the header icon

Medium
AreaNutritionEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open meal logging form
  2. Select a meal type (breakfast, lunch, dinner, snack) from dropdown
  3. Save the meal
  4. View saved meal in history

Expected result

The header icon reflects the selected meal type

Actual result

The header shows breakfast icon even when another type is selected. Saved meals show correct icon but UI selection icon does not sync.

Evidence note: IMG_2100.PNG showing meal type dropdown

Evidence

Available evidence: The following iOS screenshot is attached.

Meal type selector does not update the header icon

Screenshots are shown in the supplied iOS screenshot gallery.

BUG-45

Blood Pressure and Heart Rate readings lack distinct icons

Medium
AreaVitalsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Vitals tab
  2. Tap to enter a heart rate reading
  3. Tap to enter a blood pressure reading
  4. Save both readings
  5. View Today's Readings section

Expected result

Each reading type displays a distinct icon (e.g., heart for heart rate, pressure symbol for blood pressure)

Actual result

Both readings show plain blue circles without distinct icons.

Evidence note: IMG_2102.PNG showing Vitals section with plain circles instead of icons

Evidence

Available evidence: The following iOS screenshot is attached.

Blood Pressure and Heart Rate readings lack distinct icons

Screenshots are shown in the supplied iOS screenshot gallery.

BUG-46

AI Chat displays persistent internal server error banner

Critical
AreaAI ChatEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open AI Chat
  2. Wait for chat to load

Expected result

Chat interface loads without errors. User can interact with the assistant

Actual result

Red banner shows Internal server error. Chat messages appear behind the error but the banner persists.

Evidence note: IMG_2103.PNG and IMG_2104.PNG showing error banner at top of chat

Evidence

Available evidence: The following iOS screenshot is attached.

AI Chat displays persistent internal server error banner

Screenshots are shown in the supplied iOS screenshot gallery.

BUG-48

Bottom sheet closes when scrolling in dropdown lists down

Medium
AreaEmergency ContactsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Emergency Contacts and tap to select country, OR
  2. Open Settings/Profile and edit address then tap state dropdown
  3. Scroll down in the bottom sheet list

Expected result

List scrolls down to show more options. Bottom sheet remains open for selection

Actual result

Scrolling down pulls the entire bottom sheet closed, interrupting selection in emergency contacts country picker and profile address state dropdown.

Evidence note: Issue affects both emergency contacts country selection and profile address state dropdown workflows. Tester notes from both workflows.

Evidence

Screenshots are shown in the supplied iOS screenshot gallery.

BUG-50

Facility status labels should use colored pill styling

Low
AreaHealthcare FacilitiesEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Healthcare Facilities
  2. View facility cards in the list

Expected result

Open Now status shown as green pill. Closed status shown as red pill

Actual result

Status labels (Opened Now / Closed) displayed as plain text without colored pill background.

Evidence note: IMG_2108.PNG showing facility cards with plain text status

Evidence

Available evidence: The following iOS screenshot is attached.

Facility status labels should use colored pill styling

Screenshots are shown in the supplied iOS screenshot gallery.

BUG-51

New AI chat conversation infinitely loads without send capability

Critical
AreaAI ChatEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Start a new AI chat conversation
  2. Wait for initial greeting
  3. Try to send a message

Expected result

Chat loads quickly and allows user to send messages

Actual result

Chat loads infinitely. Loading spinner persists. User cannot type or send messages.

Evidence note: IMG_2110.PNG showing keyboard open with no send capability and loading state

Evidence

Available evidence: The following iOS screenshot is attached.

New AI chat conversation infinitely loads without send capability

Screenshots are shown in the supplied iOS screenshot gallery.

BUG-42

Recreating an existing account shows a generic creation error

Medium
AreaAccount creation and authenticationEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Submit account creation with a set of user details.
  2. Repeat account creation with the same details.
  3. Review the error message.

Expected result

The app identifies that the account already exists and explains the next step.

Actual result

The app showed Unable to create profile with provided information instead of an account-already-exists message.

Evidence note: I captured a screenshot is displayed in the screenshot gallery.

Evidence

I did not attach a screenshot to this finding card. Evidence is displayed in the supplied iOS screenshot gallery.

BUG-41

Account creation shows an error after creating the account

Critical
AreaAccount creation and authenticationEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Start account creation.
  2. Enter a valid password and complete the required fields.
  3. Submit the account creation form.
  4. Review the response.
  5. Try to sign in with the new account.

Expected result

The account is created and the app shows a clear success response.

Actual result

The app showed Internal server error, but the account is created.

Evidence note: I captured a screenshot shows the error message.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-40

Mark all notifications as read does not refresh the unread state

Medium
AreaNotificationsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Notifications.
  2. Tap the read-all or double-tick action.
  3. Review the notification list immediately.

Expected result

All notifications change to the read state immediately.

Actual result

The old unread messages remain marked as unread after the read-all action.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-39

Change Password shows an error after the password changes

Critical
AreaAccount securityEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Change Password.
  2. Enter the current password.
  3. Enter a valid new password and confirmation.
  4. Submit the change.
  5. Sign in with the new password.

Expected result

The app showed a success message and the password changes once.

Actual result

The app showed Internal server error, but the password changes and the new password works for login.

Evidence note: I captured a screenshot shows the error message.

Evidence

Screenshot is displayed in the supplied iOS screenshot gallery.

BUG-38

Referral points are not credited to either user

High
AreaReferral rewardsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Create or use a referral code.
  2. Sign up a new user with the referral code.
  3. Complete the signup flow.
  4. Check the referrer and new-user point balances.

Expected result

The referrer and the new user receive the points promised by the referral flow.

Actual result

Neither the referrer nor the new user receives the referral points.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-37

The referral link opens a Page not found screen

High
AreaReferral and website navigationEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Refer & Earn.
  2. Tap the referral link or Invite Friends action.
  3. Open the generated link.

Expected result

The link opens a valid NaptiQCare referral or signup page.

Actual result

The NaptiQCare website shows Page not found.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-36

The AI response can remain in a loading loop

High
AreaAI ChatEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open AI Chat.
  2. Ask a normal health or app question.
  3. Wait for the assistant response.

Expected result

The response completes, or the app shows a clear error with a retry action.

Actual result

The assistant can remain in a loading loop without completing the response.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-35

The AI asks for location details after a hospital search fails

High
AreaAI Chat and healthcare facilitiesEvidenceiOS screen recordings and attached screenshots

Steps to reproduce

  1. Select Facilities.
  2. Ask the AI to show hospitals around the current location.
  3. Review the assistant response.

Expected result

The AI uses the available facilities and location flow, or provides a clear facilities error.

Actual result

The AI says that nearby hospitals could not be found and asks for the city or location permission instead of completing the request.

Evidence

Available evidence: The following iOS screenshot is attached.

AI response asking for location details for nearby hospitals
AI response asking for location details for nearby hospitals
BUG-34

The AI requests prescription details for a condition-only request

High
AreaAI Chat and medical conditionsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Select Medical Conditions.
  2. Ask the AI to add a medical condition.
  3. Do not request a prescription.
  4. Review the assistant response.

Expected result

The condition is added without requesting prescription details.

Actual result

The AI asks for medication name, dosage, frequency, start date, and end date.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-33

The AI asks for a tool after a medical condition is already selected

High
AreaAI Chat and medical conditionsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Select Medical Conditions.
  2. Select or state the medical condition.
  3. Ask the AI to add the condition.
  4. Review the assistant response.

Expected result

The AI uses the selected Medical Conditions tool.

Actual result

The AI asks which tool to use even though the medical condition tool is already selected.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-32

The AI repeats the prescription start-date request after the user says now

High
AreaAI Chat and prescriptionsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Select the Prescriptions tool.
  2. Start a prescription request.
  3. Reply that it should start now or tonight.
  4. Wait for the next assistant response.

Expected result

The AI accepts the response as the current start time and continues the prescription setup.

Actual result

The AI asks for the prescription start date again and requests a date in a fixed format.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-31

Prescription tool input remains after a message is sent

Medium
AreaAI Chat and prescriptionsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Select the Prescriptions tool.
  2. Enter a message.
  3. Send the message.
  4. Review the message input.

Expected result

The input is cleared after the message is sent.

Actual result

The message remains in the input after the message is sent.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-30

Export data does not open or save the downloaded file

Medium
AreaData exportEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open the data export flow.
  2. Tap Download or Export data.
  3. Wait for the download to complete.

Expected result

The file opens in the iOS share or save flow, or it is saved to the Downloads folder.

Actual result

The download does not open automatically and does not provide a clear save location.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-29

Prescription entry has no take-with-meal input

High
AreaPrescriptionsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Prescriptions.
  2. Add a prescription through scan input.
  3. Repeat the flow through manual input.
  4. Review the prescription fields and instructions.

Expected result

The user can specify whether the prescription should be taken with a meal.

Actual result

Neither the scanned-prescription flow nor the manual-input flow provides an input for the take-with-meal instruction.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-26

The keyboard covers the Share Feedback bottom sheet

Medium
AreaFeedbackEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Settings.
  2. Open Share Feedback.
  3. Focus a field in the feedback form.
  4. Review the bottom sheet while the iOS keyboard is open.

Expected result

The bottom sheet moves or scrolls so the active field and submit controls remain visible.

Actual result

The keyboard covers the feedback bottom sheet and hides part of the form.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-25

Address changes are not persisted

High
AreaProfile and addressEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open the profile address form.
  2. Update the address.
  3. Save the change.
  4. Close and reopen the app.
  5. Review the saved address.

Expected result

The updated address remains after the app is reopened.

Actual result

The updated address is not persisted.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-24

Delete and close icons have small iOS touch targets

Low
AreaTouch interactionEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open a screen with a delete icon or close icon.
  2. Tap around the visible icon area on iOS.
  3. Repeat the action near the edge of the icon.

Expected result

The full visible icon area responds to the tap.

Actual result

The effective touch target is too small. Taps near the visible edge of the icon do not respond reliably.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-23

Personal details changes are not persisted

High
AreaProfileEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Update Profile.
  2. Change the personal details.
  3. Save the changes.
  4. Close the app.
  5. Open the profile again.

Expected result

The updated personal details remain after the app is closed and reopened.

Actual result

The updated personal details are missing when the profile is opened again.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-22

Emergency contact input repeats the +234 country code

Medium
AreaEmergency contactsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Emergency Contacts.
  2. Choose manual contact entry.
  3. Review the country selector and phone-number input.

Expected result

The country selector shows +234. The phone-number field accepts the local number without repeating the country code.

Actual result

The phone-number input also shows +234 while the country selector already shows +234. This can confuse the user.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-20

Contact import cannot add more contacts after two contacts

High
AreaEmergency contactsEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Emergency Contacts.
  2. Import two contacts from the iPhone directory.
  3. Start the import flow again.
  4. Select additional contacts from the iPhone directory.

Expected result

Additional contacts can be imported after the first two contacts.

Actual result

After two contacts are imported, additional contacts cannot be imported from the iPhone directory.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.

BUG-19

Facility type labels display underscores

Medium
AreaHealthcare facilitiesEvidenceiOS screen recordings and attached screenshots

Steps to reproduce

  1. Open Healthcare Facilities.
  2. Select the Clinics category.
  3. Review the facility type shown on a facility card.

Expected result

Facility types use readable labels with spaces.

Actual result

The facility type is displayed as Medical_Clinic instead of Medical Clinic.

Evidence

Available evidence: The following iOS screenshot is attached.

Healthcare facility card showing Medical_Clinic
Healthcare facility card showing Medical_Clinic
BUG-14

Emergency contact validation accepts invalid Nigerian numbers

High
AreaEmergency contactsEvidenceDrive recording

Steps to reproduce

  1. Open Emergency contacts.
  2. Tap to add a contact.
  3. Enter 8888888888 as the phone number.
  4. Save the contact.

Expected result

The app validates a Nigerian phone-number format. It rejects numbers that only satisfy a length check.

Actual result

The app accepts 8888888888 as valid. The validation checks number length but not a valid Nigerian number format.

Evidence

Evidence update: The additional iOS test also accepted 48828838282. This confirms BUG-14. No separate finding was created.
BUG-07

AI updates keep loading after the data is already saved

High
AreaAI vitals updateEvidenceDrive recording

Steps to reproduce

  1. Open the Vitals screen.
  2. Ask the AI to update the heart rate.
  3. Wait for the AI response.
  4. Check the updated vitals data.
  5. Try to cancel the AI request or use another tool.

Expected result

The AI shows a completed response after the update. The user can cancel a request or start another action.

Actual result

The AI keeps loading. The user cannot cancel the request or use another tool. The data has already been implemented despite the missing completion response.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-06

AI heart-rate input bypasses the 220 BPM guard

Critical
AreaVitals and AI inputEvidenceDrive recording

Steps to reproduce

  1. Open the Vitals screen.
  2. Enter a heart rate through the normal input.
  3. Confirm that the normal input applies the 220 BPM guard.
  4. Open the AI input.
  5. Ask the AI to update the heart rate.
  6. Enter 9000 BPM.
  7. Submit the AI update.
  8. Open heart-rate history.

Expected result

The AI uses the same validation as the normal input. Values above 220 BPM are rejected and are not saved.

Actual result

The AI bypasses the guard and accepts the out-of-range value.

Evidence

Available evidence: The following screenshot is attached.

Out-of-range heart-rate value in vitals history
Out-of-range heart-rate value in vitals history
BUG-01

Google sign-in shows a missing-session error

High✓ Fixed
AreaAuthenticationEvidenceDrive recording

Steps to reproduce

  1. Log out of the current account.
  2. Tap Log in with Google.
  3. Complete Google sign-in.
  4. Return to the app dashboard.

Expected result

The app creates a valid session and opens the dashboard without an error.

Actual result

The dashboard shows Session not found - Retrying....

Evidence

Available evidence: The following screenshot is attached.

Session not found error after Google sign-in
Session not found error after Google sign-in
BUG-02

Taking a meal photo crashes the app

Blocker✓ Fixed
AreaMeal loggingEvidenceDrive recording

Steps to reproduce

  1. Open the home screen.
  2. Tap Snap or upload your meal.
  3. Tap Take photo.
  4. Observe the app.

Expected result

The camera opens. The user can take a photo and return to the meal form.

Actual result

The app crashes after Take photo is selected.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-03

Location permission is not available on iOS

Blocker✓ Fixed
AreaFacilitiesEvidenceDrive recording

Steps to reproduce

  1. Open the facilities view.
  2. Tap Request permission.
  3. Open the app settings from the permission screen.
  4. Review the NaptiQ Care permission rows.

Expected result

The app requests iOS location access. The app settings page contains a Location row.

Actual result

Location access is not requested. The app settings page does not show a Location row. The user cannot enable the facilities feature.

Evidence

Available evidence: The following screenshot is attached.

Location permission required screen
Location permission required screen
NaptiQ Care settings without Location permission
NaptiQ Care settings without Location permission
BUG-04

Share Feedback bottom sheet does not close by pull-down

✓ Fixed
Medium
AreaFeedbackEvidenceDrive recording

Steps to reproduce

  1. Open the home screen.
  2. Tap Share Feedback.
  3. Try to pull the Google Form bottom sheet down.

Expected result

The bottom sheet closes when the user pulls it down.

Actual result

The bottom sheet does not respond to the pull-down gesture.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-05

Store Read more content overflows and does not scroll

✓ Fixed
High
AreaStoreEvidenceDrive recording

Steps to reproduce

  1. Open the Store.
  2. Tap any store item.
  3. Tap Read more.
  4. Try to scroll down through the item details.

Expected result

The full item details stay inside the screen and scroll vertically.

Actual result

The details overflow the screen. The user cannot scroll down to view the remaining content.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-08

Vitals history contains another user's data

✓ Fixed
Critical
AreaVitals history and data isolationEvidenceDrive recording

Steps to reproduce

  1. Create a new user in August.
  2. Add vitals through the AI.
  3. Add vitals through the normal input.
  4. Open Vitals history.
  5. Review the dates and records.

Expected result

A new user sees only their own records created after account creation.

Actual result

The history contains older records from February. These records do not belong to the new user.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-09

Vitals history is not sorted from latest to oldest

✓ Fixed
Medium
AreaVitals historyEvidenceDrive recording

Steps to reproduce

  1. Open Vitals history.
  2. Review the record dates from top to bottom.

Expected result

The newest record appears first. Older records appear below it.

Actual result

The dates are not ordered from latest to oldest.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-10

Workout icons show question marks or inconsistent icons

✓ Fixed
Low
AreaActivity loggingEvidenceDrive recording

Steps to reproduce

  1. Open the Activity tab.
  2. Log walking, strength, or yoga.
  3. Review the Today's activities icons.
  4. Compare them with the icons in the activity dropdown.

Expected result

Each activity uses the correct icon in every view.

Actual result

The Today's activities icons show question marks or do not match the dropdown icons.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-11

Body metrics save fails and shows another user's data

✓ Fixed
Critical
AreaBody metricsEvidenceDrive recording

Steps to reproduce

  1. Open Tracking.
  2. Open the Body tab.
  3. Enter weight 65.
  4. Enter height 5.9.
  5. Tap Save entry.
  6. Open Body metrics history.

Expected result

The entry saves successfully. The history shows only the current user's data.

Actual result

The save action shows field 'date' is required. The history also contains details that do not belong to the current user.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-12

Weight history shows another user's data and is not sorted

✓ Fixed
Critical
AreaWeight history and data isolationEvidenceDrive recording

Steps to reproduce

  1. Create or open a new user.
  2. Open Weight history.
  3. Review the existing records.
  4. Review the order of the dates.

Expected result

A new user has no unrelated history. The current user's records are ordered from latest to oldest.

Actual result

The new user already has existing records from another data set. The dates are not ordered from latest to oldest.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-13

Tracking data export shows Session not found

✓ Fixed
High
AreaTracking data exportEvidenceDrive recording

Steps to reproduce

  1. Sign in with Google.
  2. Open the Tracking page.
  3. Tap Export data.
  4. Wait for the export request.

Expected result

The export starts or downloads successfully for the signed-in user.

Actual result

The export shows Session not found.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-15

Password reset shows Invalid validation token

High✓ Fixed
AreaPassword resetEvidenceDrive recording

Steps to reproduce

  1. Open the password-reset flow.
  2. Enter a valid new password.
  3. Enter the matching confirmation password.
  4. Tap Create Password.
  5. Wait for the server response.

Expected result

The password resets successfully. If the token is expired, the app shows a clear expiry message and provides a way to request a new token.

Actual result

The app showed Invalid validation token. The password reset does not complete.

Evidence

Evidence note: The source frame is not attached because it contains entered password data.

The issue is visible in the Drive recording.

BUG-16

Empty password fields show Strong and enable submission

High✓ Fixed
AreaPassword resetEvidenceDrive recording

Steps to reproduce

  1. Open the password-reset flow.
  2. Leave the new-password field empty.
  3. Leave the confirmation field empty.
  4. Review the strength indicator and submit button.

Expected result

The strength indicator stays neutral or weak. The submit button remains disabled until both fields contain valid matching values.

Actual result

The form shows Strong while both fields are empty. The Create Password button is enabled.

Evidence

Available evidence: The following screenshot is attached.

Empty password fields marked Strong
Empty password fields marked Strong
BUG-17

Google account creation assigns the user as Godprotocol

Critical✓ Fixed
AreaGoogle account creation and user identityEvidenceDrive recording

Steps to reproduce

  1. Start account creation with Google sign-in.
  2. Select a Google account, such as marvelloustony@gmail.com.
  3. Complete the account-creation flow.
  4. Open the user profile or account details.

Expected result

The new NaptiQCare user is linked to the selected Google account.

Actual result

The user is created as Godprotocol instead of the selected Google account. The account identity shows the Godprotocol account.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-18

Homepage navigation shows Route not found

High✓ Fixed
AreaHomepage navigationEvidenceDrive recording

Steps to reproduce

  1. Open the homepage.
  2. Navigate between homepage features.
  3. Repeat the navigation when the issue occurred.

Expected result

Each selected feature opens its correct route.

Actual result

The app showed Route not found, retrying. The selected page does not open normally.

Evidence

I did not attach a screenshot. Source: Drive recording.

BUG-27

Daily steps update returns a server error

✓ Fixed
High
AreaDaily stepsEvidenceiOS screen recordings and attached screenshots

Steps to reproduce

  1. Open the AI Chat.
  2. Select the daily-steps tool.
  3. Send a request to update the walking record.
  4. Wait for the assistant response.

Expected result

The daily step count is saved and the assistant confirms the update.

Actual result

The assistant shows that the step count could not be saved and asks the user to try again.

Evidence

Available evidence: The following iOS screenshot is attached.

Daily steps update showing a save error
Daily steps update showing a save error
BUG-28

Tracking updates return server errors

✓ Fixed
High
AreaTrackingEvidenceiOS screen recordings and tester notes

Steps to reproduce

  1. Open Tracking.
  2. Update each available tracking value.
  3. Submit each update.
  4. Review the responses.

Expected result

Each valid tracking update is saved and confirmed.

Actual result

Every tracking update returns a server error.

Evidence

I did not attach a screenshot. Source: iOS screen recordings and tester notes.