Skip to content

App: device checks for repeater administrators before it leaves TestFlight #519

Description

@MrAlders0n

The app half is on dev and in the next dev build. These are the checks to run on a real radio with debug logging on, reading the [RADMIN] and [CONN] lines, before it goes any further. The server's /repeater leg has to be live in the region you test in.

  1. Connect, open the Trace row picker, pick a repeater you administer, tap Manage. Expect the sheet, status "Not logged in", the Administrators line from the list.
  2. Log in with the guest password. Expect "Guest", the guest sentence, no Claim card, the Route card visible.
  3. Log in with the admin password, Remember on. Expect "Admin" and Logged in as admin (fw_level=N).
  4. Tap "I administer this repeater". Expect Admin proven: ACL answered with N entries, then POST /repeater claim -> HTTP 200 ok, "Claimed. Listed as ", the button now Unclaim.
  5. Reset route, then watch for PATH_UPDATED on the next request; the route card should fill in with names.
  6. Fetch neighbours (one page line in the log, "Load more (10 of N)" when the table is bigger), Load more once, then Upload. Expect the resolved/unknown toast and the upload's total to be the repeater's count, not the held count.
  7. Close the sheet; expect Session released, ping controls unlocked and the ping buttons enabled again. Start Active mode and confirm Manage is disabled with "Stop the running mode first".
  8. Reopen the sheet, then power the radio off mid-login. Expect "The radio disconnected." and, in the log, Aborted in-flight repeater admin command plus the session release line. Let it auto-reconnect and confirm the ping buttons come back.
  9. Wrong password: expect "No reply from the repeater. Check the password and try again." after the timeout (est_timeout plus 5 s), with Retry.
  10. If a repeater on firmware older than v1.9.0 is reachable: log in with its admin password and expect the "older than v1.9.0" sentence with no binary request in the log.
  11. Kill and relaunch the app: My Repeaters still lists the claim; the detail sheet says "You administer this repeater"; after connect, Claims reconciled (connect): N.
  12. Offline Mode: the sheet opens and login works, but Claim, Unclaim and Upload refuse with the online-session sentence and make no request.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions