fix(aprs): treat any unrecognised login response as a refusal
The previous commit listed the refusal wordings it knew - "invalid login" and "login
denied" - and skipped everything else as chatter. That list was incomplete. Probing the
parser against responses captured from live servers found three it missed:
# Login by user not allowed observed on rotate.aprs2.net
# Port full
# Server full
Each was skipped as a keepalive, so the login timed out into Unknown, Unknown is
deliberately read as "may be working", and every send afterwards reported success to an
operator the server had refused. Exactly the failure the previous commit fixed, reached
by a different wording.
Inverted: identification and keepalive comments are recognised positively, and anything
else the server says during login counts as an objection. The trade is that an unforeseen
harmless comment would read as a refusal - but that errs towards reporting failure rather
than claiming success, which is the direction this feature has been wrong in throughout.
The keepalive prefixes come from a live capture rather than guesswork. aprsc repeats its
own identification with a timestamp every twenty seconds:
# aprsc 2.1.21-gbfc2090 25 Aug 2026 16:41:07 GMT T2UK 195.201.15.71:14580
Two tests had invented a `# Tue Aug 25 ...` date line and a `# keepalive N`, neither of
which any server sends. Both now use the captured format.
Also here: the QRZ cookie test in settings goes through the repository instead of
scraping from the UI. It was the last caller of QrzGridClient, which is deleted, and it
built its result from hardcoded Chinese strings inside the composable - those move to
resources, and the four outcomes are now distinguished, where before an expired cookie
and a station with no grid on file produced the same message.
This commit is contained in:
1 parent
271488a43e
commit
6859c825d7
9 files changed
+130
-113
No files matched your search
@@ -270,6 +270,11 @@
|
||||
<string name="log_grid_no_cookie">查网格需要先在设置里填 QRZ Cookie</string>
|
||||
<string name="log_grid_signed_out">QRZ Cookie 已过期 - 请在设置里重新粘贴</string>
|
||||
<string name="log_grid_unreachable">连不上 QRZ, 没查到网格</string>
|
||||
<string name="qrz_test_empty">请先粘贴 Cookie</string>
|
||||
<string name="qrz_test_signed_out">Cookie 无效或已过期</string>
|
||||
<string name="qrz_test_ok">登录呼号 %1$s, 网格 %2$s</string>
|
||||
<string name="qrz_test_no_grid">登录呼号 %1$s, 未填写网格</string>
|
||||
<string name="qrz_test_unreachable">连不上 QRZ</string>
|
||||
<string name="wavelog_need_config">请先在设置中配置 WaveLog</string>
|
||||
<string name="wavelog_empty">暂无日志记录</string>
|
||||
<string name="wavelog_grid_mismatch">当前 QTH 网格(%1$s)与站点网格(%2$s)不一致,仍要上传?</string>
|
||||
|
||||
@@ -301,6 +301,11 @@
|
||||
<string name="log_grid_no_cookie">Grid lookup needs a QRZ cookie in Settings</string>
|
||||
<string name="log_grid_signed_out">QRZ cookie expired - paste a fresh one in Settings</string>
|
||||
<string name="log_grid_unreachable">Could not reach QRZ for the grid</string>
|
||||
<string name="qrz_test_empty">Paste a cookie first</string>
|
||||
<string name="qrz_test_signed_out">Cookie is not valid or has expired</string>
|
||||
<string name="qrz_test_ok">Signed in as %1$s, grid %2$s</string>
|
||||
<string name="qrz_test_no_grid">Signed in as %1$s, no grid on file</string>
|
||||
<string name="qrz_test_unreachable">Could not reach QRZ</string>
|
||||
<string name="wavelog_need_config">Configure WaveLog in Settings first</string>
|
||||
<string name="wavelog_empty">No log entries yet</string>
|
||||
<string name="wavelog_grid_mismatch">QTH grid (%1$s) does not match station grid (%2$s). Upload anyway?</string>
|
||||
|
||||
Reference in new issue
Block a user