Files
wadamesh/deploy/apps/apps.json
T
Kaj SchittecatandClaude Opus 5 80f6aa97ea apps: SD Scan 1.1, buttons above the findings list
An infected M9 card turned up with 373 findings. Every list row is a focus
stop on a keyboard board, and the firmware's key navigation collects at most
160 of them per screen, so in 1.0 the Remove all and Scan again buttons below
the list could not be reached on an M9 at all.

1.1 puts the buttons above the list, first in focus order, on the results
and failed-removal screens, and shows at most 60 rows plus an "and N more"
row (the title carries the full count). App-only: no firmware change.

Harness: a 373-finding scenario, and a check on every list screen that the
buttons come first and the focus stops stay under 160. It fails on 1.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 09:13:43 +02:00

64 lines
2.1 KiB
JSON

{
"apps": [
{
"id": "monitor",
"name": "RF Monitor",
"ver": "1.3",
"desc": "Scrollable: RSSI/noise chart with dBm axis, link margin, RX rate, radio params, heard feed."
},
{
"id": "airtime",
"name": "Airtime",
"ver": "1.4",
"desc": "Utilization bars with a % axis, rx/tx split, duty ceiling, budget. Reset button top-right."
},
{
"id": "snake",
"name": "Snake",
"ver": "1.0",
"desc": "The classic, in Lua. Swipe to steer."
},
{
"id": "sdktest",
"name": "SDK Test",
"ver": "1.7",
"desc": "Developer tool. Checks the extended Lua SDK on this board: capabilities, clock, battery, GPS, private file access, audio API, read-only SD listing, crypto against published RFC vectors, channel discovery, and buttons that TRANSMIT test messages."
},
{
"id": "2048",
"name": "2048",
"ver": "1.2",
"desc": "The classic sliding-tile puzzle. Swipe to move, tap to restart. Keeps your best score. Contributed by pisti87."
},
{
"id": "wardrive",
"name": "Wardrive",
"ver": "1.2",
"desc": "LoRa coverage survey. Probes every 20s and logs each reply with GPS position, altitude and BOTH link directions (how well you heard them, how well they heard you) to a CSV, then plots the run back on the map so you can check coverage before driving it again. Reference app for wada.mesh.discover.",
"requires": "sdk_ext"
},
{
"id": "nearby",
"name": "Nearby",
"ver": "1.0",
"desc": "Your contacts on a real map, sorted by distance, with bearing and a live frame counter. Reference app for wada.map, wada.ui.list, wada.geo and app.on_packet.",
"requires": "sdk_ext"
},
{
"id": "gpscompass",
"name": "GPS Compass",
"ver": "1.0",
"desc": "Compass rose: magnetometer or GPS course, live fix, bearing to contacts",
"seed": false
},
{
"id": "sdscan",
"name": "SD Scan",
"ver": "1.1",
"desc": "Finds and removes Windows malware on the SD card, like the M9 worm.",
"requires": "sd",
"seed": false
}
]
}