Skip to content

Say when the phone is not on a network at all - #135

Merged
sridharkalaibala merged 1 commit into
mainfrom
feat/say-why-it-cannot-connect
Sep 18, 2026
Merged

sridharkalaibala merged 1 commit into
mainfrom
feat/say-why-it-cannot-connect

Conversation

@sridharkalaibala

Copy link
Copy Markdown
Contributor

"app smart enough to find why not able to connect. as i said earlier wifi change, or internet not available or server not responding or server not allowing (403) etc. proper notifications is mandatory. whey app not working user should know the reason."

Four causes, one symptom, and each has a different person doing a different thing about it. Here is the honest state of all four after this PR.

Cause Said?
Wi-Fi changed yes, with both networks shown
Till computer off / POSNIC not open yes
No network at all this PR
Server refusing (403) not on the outage screen, see below

What this adds

Wi-Fi and mobile data both off. The one cause a phone can be certain of without asking anybody, and the one a waiter can fix in five seconds. It was the one case the outage screen never mentioned, so somebody whose Wi-Fi was simply off was told the till is not responding and went to restart a working computer.

Checked before the network comparison, which needs an interface that a phone with everything switched off does not have.

And a test that Try now retries the server it is already on. It always did, but nothing proved it, so a change to the candidate order could have quietly turned Try now into "go and find a different till".

What I did not ship, and why

A 403 is its own cause and you are right about that. A dead address gives a connection error; only a server sends back a status. So a refusal means the till is on, on this Wi-Fi, and turning this phone away, usually because the shop has run out of handset slots. The fix is a licence screen, not a power button.

The connect sheet already says which till refused. The outage screen does not, and a phone already signed in never reaches the connect sheet.

I wrote that wording, then found the overlay never appears at all for a refusing pinned till, so the message would have been unreachable. That is the exact fault this work keeps finding elsewhere, so I took it back out rather than leave dead text behind. Where a mid-service refusal actually surfaces is not yet known, and guessing would be worse than the gap, so it is named in server-resolution.spec.js instead of half-built.

Tests

477 unit tests and 328 browser tests pass, including two new ones: no network at all is named before anything else, and Try now retries the current server. Tamil added.

Owner: "app smart enough to find why not able to connect. as i said
earlier wifi change, or internet not available or server not responding
or server not allowing (403) etc. proper notifications is mandatory."

Wi-Fi and mobile data both off is the one cause a phone can be certain of
without asking anybody, and the one a waiter can fix in five seconds. It
was the one case the outage screen never mentioned. Told that the till is
not responding while their Wi-Fi is simply off, somebody goes and
restarts a computer that is working perfectly.

Checked before the network comparison, which needs an interface that a
phone with everything switched off does not have.

WHAT I DID NOT SHIP, and why. A 403 is its own cause and he is right
about that: a dead address gives a connection error, only a server sends
a status, so a refusal means the till is ON, on this Wi-Fi, and turning
this phone away - usually because the shop has run out of handset slots.
The fix is a licence screen, not a power button.

The connect sheet already says which till refused. The outage screen does
not, and a phone already signed in never reaches the connect sheet. I
wrote that wording, then found the overlay never appears at all for a
refusing pinned till, and took it back out rather than leave an
unreachable message behind - which is the exact fault the rest of this
work keeps finding. Where a mid-service refusal actually surfaces is not
yet known, and guessing would be worse than the gap, so it is named in
the spec file instead of half-built.

Try now already retries the server it is on: it always did, and nothing
proved it, so a change to the candidate order could have quietly turned
it into "go and find a different till". There is a test now.
@sridharkalaibala
sridharkalaibala merged commit e23630a into main Sep 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant