Covers the 15 Android findings from the second test round. Three are fixed with the
cause confirmed, three should already be resolved by server work done since you tested,
one is a large job now fully scoped — and six need something from you before we
can act on them.
Updated 7 Aug 2026Round 2Platform Android onlyTested Android 1.6.0 (9)
3Fixed — cause confirmed
3Re-test on the next build
6Blocked — need info from you
1Large job — scoped
2Out of scope by request
Download the test build
Android 1.7.0 (build 10). Pick ARM64 unless you know the device needs
something else — it covers essentially every phone from the last several years.
This build is signed with a test key. Installing it over a copy of NamuChat from the
store will fail with a signature conflict. Remove the old app, then install this one.
Two behaviours that are intentional, not defects
The SMS code fills itself in. After 2–10 seconds the
verification code appears on its own. That is a convenience in test builds only;
the store build shows the code in a banner for you to type.
One-tap registration is hidden. The carrier credential is not
configured in this build, so registration falls back to the SMS code flow.
Before anything else: the build numbering problem
We cannot tell which build you tested
Your report lists Android 1.6.0 (9). The build containing the previous
round of fixes is also 1.6.0 (9) — the version number was never
raised. So for several findings we genuinely cannot tell whether you were testing the
fixed app or the old one.
The next Android build will be 1.7.0 (10). From then on every report
can be tied to an exact build. Please always include the full version and build
number — the value shown under Me → Settings → About, not just "latest".
Two findings were excluded at the client's request
The two Android "Push notification is missing when receiving a new message" entries are
not being worked on. The client's requirement is that no messages be
received while the app is closed, and current behaviour matches that. Please close them
rather than re-testing.
We need this from you
Six findings cannot be acted on from the code alone. Each one below says exactly what
would unblock it. Answering these is the fastest way to move the round forward.
Ask 01
Unable to register after entering username and password
Bug_008
Registration on Android needs more than a username and password. It also requires a
phone number, an SMS code, and the consent checkbox — the
Register button stays disabled until all of them are filled. That is intended
behaviour, so we need to know which situation you hit.
Did you fill in the phone number and SMS code as well, or only username and password?
If you filled everything in: did the Get code button work, and did the code arrive?
If the Register button was pressable but the attempt failed, what did the error say, word for word?
A screen recording of the whole attempt would settle all three at once.
Ask 02
Voice message feature is not working
Unnumbered row
The microphone permission request and the recording code are both present, so
"not working" could mean several different faults with different causes.
Did the app ask for microphone permission the first time you tried?
Does the button do nothing at all, or does recording start and then fail?
If recording starts: does it fail while recording, when you release, or after sending?
Does the failed message appear in the chat at all, or not appear?
Ask 03
Camera and video recording fail to work in chat
Unnumbered row
Did the app ask for camera permission?
Does the camera open at all? If it opens, does it fail when you take the shot or when it sends?
Does picking an existing photo from the gallery work? That separates a camera problem from an upload problem.
Device model and Android version, please — camera behaviour varies a lot between manufacturers.
Ask 04
Text is cut off · Image is cut off
Bug_002 and one unnumbered row
Layout clipping is impossible to locate without seeing it. The screenshots linked in
the sheet are on prnt.sc and could not be opened from our side.
Please attach the screenshots directly rather than as prnt.sc links.
Tell us which screen each one is — chat, contacts, settings, moments.
Include the device model, screen size and system font size. Clipping very often only appears at larger font settings.
Does it also happen in English? Chinese text is more compact, so a layout that fits in Chinese can overflow in English or Vietnamese.
Ask 05
Friend requests do not appear
Bug_004
We believe this is a side effect of the sign-out fault described below — when
several screens load at once and the session breaks, individual requests fail silently.
That needs confirming rather than assuming.
Please re-test on the next build first.
If it still happens: does pull-to-refresh make the request appear?
Does the recipient see it after fully closing and reopening the app?
Does the sender see the request as sent successfully?
Ask 06
Scroll bar does not focus on the newest post
Unnumbered row · Moments
Does this happen when opening Moments, or after posting something new?
Where does it land instead — the top of the list, or wherever you last scrolled to?
Same question for the chat screen: does it open at the newest message?
Fixed — cause confirmed
Both of these were reproduced and traced to a specific line. They are in the next build.
Bug_003 + Bug_007Login screen on re-opening · user gets logged out on their ownFixed
Cause
A sign-in lasts 15 minutes before the app has to renew it, and the
renewal ticket is single use — using it immediately
invalidates it and issues a new one.
When you open the app, the home screen loads the chat list, contacts and unread
counts at the same time. After 15 minutes all of them are refused
at once, and each one independently tries to renew using the same
ticket. The first succeeds and consumes it; the rest are refused —
and being refused is what makes the app sign you out.
Verified
Session length 15 minutes
Renewal ticket single use
Reusing a spent ticket:
401 Invalid or expired refresh token
→ app treats this as "signed out"
Changed
Renewals are now serialised. Whichever request gets there first renews; the
others wait, notice it has already been done, and carry on with the new session
instead of trying again with a ticket that is already spent.
This is very likely also the cause of Bug_004 (friend requests not
appearing) — that request would be one of the ones being silently refused.
How to verify
Sign in, then leave the app closed for more than 15 minutes.
Reopen it. You must land on your chat list, not the sign-in screen.
Repeat after leaving it overnight.
Use the app normally for half an hour and confirm you are never signed out mid-use.
Bug_005Image displays with a green tint after uploadingFixed
Cause
The app was forcing every image into a reduced 16-bit colour
format to save memory. That format gives green one more bit of precision than red
or blue, so photographs — skin tones and gradients especially — pick
up a visible green cast and banding.
The same setting also discards transparency, so PNG avatars and stickers
were being filled in with black where they should have been see-through.
Worth checking as part of the same pass.
Changed
The reduced format is now only used when the device is genuinely short of memory
and the image has no transparency — which is what the optimisation
was meant to do. Normal photos keep full colour.
How to verify
Send a photo with skin tones or a sky gradient — colours must look correct.
Compare against the same photo in your gallery, side by side.
Check an avatar or sticker with a transparent background shows no black box.
Check both the chat thread and the full-screen preview.
Re-test — already fixed on the server
These were fixed on the server after you ran this round, so they were genuinely
broken when you filed them. No app change is needed — but they must be re-tested on
the next build.
CallsVoice and video calls are not workingRe-test
Cause
There was no relay server in production at all. A call could be
created, but the audio and video had no route between the two phones. On mobile
networks a direct connection almost never succeeds without one, so calls failed
every time.
Worse, the app was being handed an address that pointed at the phone
itself — so it was looking for the relay in the wrong place entirely.
Status
A managed relay service is now connected and verified. A second fault was fixed
alongside it: starting a call, then immediately starting another in the same
conversation, used to be refused — which is exactly what happens when you
try voice, it fails, and you then try video.
How to verify
Two real devices on mobile data, not office Wi-Fi — Wi-Fi can mask this fault.
Place a voice call and confirm you can hear each other.
Hang up, immediately place a video call. Both must connect.
Try one call with the two devices on different networks (one Wi-Fi, one mobile).
MomentsImage does not show up after a moment is postedRe-test
Cause
The image uploaded fine — it could not be fetched back. Image
downloads were being rejected as unauthorised. On top of that, images posted some
months ago were saved with an address that no longer exists, from
before the service moved domain.
Status
Both are handled — downloads are authorised correctly, and old addresses are
rewritten to the current one as they are served, so historic images become visible
again. Verified against the live service.
How to verify
Post a moment with a photo; it must appear immediately.
Scroll to older moments and confirm those images load too.
Check from a second account that the image is visible to other people.
Same check inside a chat — both use the same mechanism.
Confirmed, large, and scheduled separately
Bug_001Interface still displays in Chinese when English is selectedIn progress
What we found
You are right, and we now know exactly how much is left. The previous round
translated the sign-in, registration, password-reset and two-factor
screens. Everything else still has its wording written directly into the code.
Screens still hardcoded : 48 files
Text needing translation: 528 strings
Worst affected:
Help 25
Delete account 23
Moments 23
Contact detail 22
Minor mode 21
Chat · Calls 18 each
Plan
528 strings across three languages is roughly 1,500 translations. It is
straightforward but large, and mixing it into a bug-fix build would produce a
change too big to review safely.
It is scheduled as its own release. The sign-in flow is already
done, so the very first thing a new user sees is correct in all three languages.
What to expect meanwhile
On the next build, sign-in and registration will be fully translated; the rest of
the app will still show Chinese. Please do not re-file the remaining
screens individually — keep this one finding open to cover them
all, and we will tell you when the full pass ships.
Full status — round 2, Android
ID
Finding
Status
Bug_001
Interface still in Chinese when English selected
In progress
Bug_002
Text is cut off
Need screenshots
Bug_003
Login screen on re-opening despite being logged in
Fixed
Bug_004
Friend requests do not appear
Re-test first
Bug_005
Image displays with a green tint
Fixed
Bug_007
User gets automatically logged out
Fixed
Bug_008
Unable to register after entering username and password
Need details
—
Image is cut off
Need screenshots
—
Voice message feature is not working
Need details
—
Camera and video recording fail in chat
Need details
—
Voice and video calls are not working
Re-test
—
Push notification missing on new message
Out of scope
—
Push notification missing on new message
Out of scope
—
Image does not show up after moment is posted
Re-test
—
Scroll bar does not focus on the newest post
Need details
Bug_006 and one push-notification row from your sheet are iOS findings and are tracked
separately; this report is Android only. Several rows in the sheet have no ID — they
are listed here in sheet order so they can be matched up.
Giving every row an ID would make future rounds much easier to track;
without one we cannot refer to a finding unambiguously.
Round 1 — Android items, where they stand
Condensed status of the Android findings from the first report, for continuity.
Finding
Status
Error messages in the wrong language (sign-in flow)
Fixed & live
Interface only available in Chinese (sign-in flow)
Fixed & live
Terms and Privacy opened in the wrong language
Fixed & live
Password kept when switching between Sign in and Register
Fixed & live
Special characters and unlimited length accepted at registration
Fixed & live
Username search returned inaccurate results
Fixed & live
Searching "%" returned every user
Fixed & live
Cannot sign in on Android devices
Worked around
Forgot Password does nothing
Partly — no mail server yet
How to run the next round
Three things would make the next round substantially more useful.
1. Record the exact build
Version and build number, from Me → Settings → About. The confusion described at
the top of this page cost real time and can be avoided entirely.
2. Test calls and images on mobile data, with two real devices
Office Wi-Fi hides exactly the class of fault that broke calls. Two phones on mobile
networks, ideally on different carriers, is the test that matters.
3. Attach screenshots and recordings directly
The prnt.sc links in the sheet could not be opened from our side. For anything visual
— clipping, tinting, layout — an attached image is the difference between a
same-day fix and a round trip. For anything intermittent, a screen recording is worth far
more than a description.
Also worth knowing
Password recovery still cannot send email. No mail service is
configured yet. Separately, accounts created before this month have no email address
stored, so recovery can only be tested with a newly registered account.
Test builds are signed with a test key. Uninstall any previous copy
before installing, or the install will fail with a signature conflict.
The SMS code fills itself in on test builds after a few seconds. That
is intentional and does not happen in store builds.
A separate vivo build exists with two-way message deletion and
disappearing messages removed, for that store's review requirements. It is not the
build you should be testing unless told otherwise.