Commit graph

5 commits

Author SHA1 Message Date
3f29a373ac SIP-Erreichbarkeit, Fingerabdruck-Anmeldung, Token raus aus der Adresszeile [apk]
All checks were successful
Build APK / build-apk (push) Successful in 2m48s
Die vier letzten offenen Punkte der Roadmap.

SIP-Erreichbarkeit (neues Werkzeug, Kategorie Telefonie)
- Sip.kt: OPTIONS nach RFC 3261 ueber UDP, bei Schweigen TCP nachgeschoben.
  Antwortet nur TCP, ist das der Fingerabdruck einer Firewall, die UDP
  verwirft - eine andere Reparatur als "Anlage aus".
- sip-bewertung.ts ohne Laufzeit-Import, damit tools/pruefe-sip.mjs die Regeln
  direkt nachrechnen kann (14 Faelle + 4 Texte, alle korrekt).
- Leitsatz: JEDE Statuszeile beweist eine antwortende Instanz. 401/407 sind
  deshalb gruen mit Hinweis "Anmeldung verlangt" - beim Provider der
  Normalzustand. Als Ausfall gemeldet wuerde der Techniker am falschen Ende
  suchen.
- RTP-Sprachqualitaet bewusst NICHT: ohne aufgebautes Gespraech nicht ehrlich
  messbar. Die Grenze steht im Ergebnis und landet im Kunden-PDF.

Fingerabdruck-Anmeldung (Biometrie.kt, BiometricPrompt + Android-Keystore)
- Der Kern ist nicht der Dialog, sondern was danach passiert: die
  Klartextfassung des Tokens wird aus den Capacitor Preferences ENTFERNT.
  Vorher stand es offen in CapacitorStorage.xml und war auf einem entsperrten
  Geraet ohne Weiteres lesbar - ein zusaetzlich verschluesseltes Token haette
  daran nichts geaendert.
- Kein zweiter Faktor: der Finger ersetzt das Passwort (Eddys Vorgabe).
  Gueltigkeit und Widerruf bleiben bei awlauth - hinterlegt ist dasselbe Token.
- 401 unterscheidet jetzt "Token abgelehnt" von "gar nicht angemeldet". Ohne
  das loeschte der erste Startaufruf die gerade eingerichtete Anmeldung wieder
  (im Emulator aufgefallen, Ursache im logcat).

Token nicht mehr in der Adresszeile
- updateDownloadUrl() ohne ?jwt=; der APK-Herunterlader im Plugin schickt
  Authorization: Bearer. instanceFollowRedirects=false, sonst ginge der Header
  bei einer Weiterleitung an ein fremdes Ziel mit.
- pdfUrl() war seit dem Initialcommit tot (kein Aufrufer) und ist durch
  fetchProtocolPdf() ersetzt - Header statt Token in der URL.

Im Emulator geprueft: SIP gegen einen eigenen Responder (200/401/Port zu),
Fingerabdruck vollstaendig durchgespielt (einrichten, Neustart, anmelden,
abbrechen), Speicher jeweils nachgesehen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 21:40:27 +02:00
d5ea70ebe5 README: die sechs Pruefwerkzeuge und warum es sie gibt
All checks were successful
Build APK / build-apk (push) Has been skipped
Der Browser-Mock liefert bei Netzwerkwerkzeugen grundsaetzlich den guten Fall -
er gibt sogar jedem Geraet eine MAC, die beim Kunden nie ankommt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-17 18:05:27 +02:00
7972917a84 README: Pruefwerkzeuge, Schnellstart und die Whitelist-Pflicht dokumentiert
All checks were successful
Build APK / build-apk (push) Has been skipped
Der Abschnitt "Neues Tool hinzufuegen" sagte "Kein Eingriff in App-Logik, Sync
oder Datenbank". Das stimmt fuer Sync und Datenbank, hat aber zweimal zu genau
dem Fehler gefuehrt, der jetzt behoben ist: JEDER neue Ergebnis-Schluessel muss
in BEIDE Feldtabellen (messfelder.ts UND netdiagKundenfelder() im Modul),
sonst verschwindet der Wert im Kunden-PDF spurlos. Steht jetzt als Punkt 4 samt
der Vorgeschichte da.

Ausserdem ergaenzt:
- quickRun beim Hinzufuegen eines Werkzeugs, mit der Begruendung, warum es
  ausdruecklich gesetzt und nicht hergeleitet werden darf
- die Pruefwerkzeuge unter tools/ (render-chart, pruefe-monitor, test-recommend)
  samt dem Grund fuer render-chart: der Emulator hat keine WLAN-Hardware,
  deshalb ging die erste Diagramm-Fassung unbemerkt unlesbar in den Einsatz
- neuer Abschnitt "Ohne Geraet pruefen" (Mock, WLAN-Demomodus, Renderer)
- Architektur-Liste auf den Ist-Stand (monitor.ts, toolparams.ts,
  messfelder.ts, wifi/, overlay/toast, die Werkzeug-Unterrouten)
- Mock-Zweig als Pflicht bei neuen nativen Methoden, mit der Begruendung
- Bedienung: Schnellstart und Sprung zum Ergebnis
2026-08-16 19:56:33 +02:00
881ca7956f Phase 0: doppelte Plugin-Quelle aufgeloest, falsche Doku-Zusagen korrigiert
Aufraeumen vor den eigentlichen Korrekturen — ohne Verhaltensaenderung am Code.

Doppelte Plugin-Quelle:
Die drei Kotlin-Dateien lagen byte-identisch in native-plugin/ UND in
android/app/src/main/java/de/data_it_solution/netdiag/. Gebaut wurde immer nur die
Kopie unter android/ — eine Aenderung an der falschen Datei sah deshalb aus wie
"der Fix wirkt nicht". native-plugin/ enthaelt jetzt nur noch die Anleitung, die
auf den echten Ort verweist.

Doku sagte drei Dinge, die nicht stimmen:
- stresstest.ts behauptete "laeuft nativ als Foreground-Service". Tut es nicht —
  im Plugin steht an der Stelle nur ein Kommentar, dass man einen ergaenzen
  sollte. Bei ausgeschaltetem Display friert Android den Lauf ein.
- iperf.ts/scanner.ts/README nannten den Durchsatztest "iperf-kompatibel". Er
  spricht kein iperf3-Protokoll (kein Cookie, kein Parameterblock) und scheitert
  gegen einen echten iperf3-Server.
- ipscan.ts beschrieb sich als "ARP + Ping + Namen". Gefunden wird nur, wer auf
  Ping antwortet oder sich per mDNS meldet; die ARP-Tabelle wird lediglich
  nachgeschlagen und ist ab Android 10 meist gar nicht lesbar.

Statt der falschen Zusagen stehen dort jetzt die tatsaechlichen Grenzen plus
Verweis auf die Phase, die sie behebt.

README: DHCP-Check und WLAN-Scan als Werkzeuge entfernt (sind nicht mehr in
tools/index.ts registriert, tauchen aber in alten Protokollen noch auf).

Geprueft: vite build ok, svelte-check 0 Fehler (2 vorbestehende Warnungen).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 18:39:40 +02:00
Eduard Wisch
bf01b4cd21 Initiales Commit — NetDiag App vollständig implementiert [apk]
Some checks failed
Build APK / build-apk (push) Failing after 11m29s
SvelteKit + Capacitor 6 Netzwerk-Diagnose-App:
- Tool-Plattform (IP-Scan, Port, Ping, WLAN, DHCP, SNMP, Traceroute, Stresstest, iperf)
- Offline-First SQLite-Cache + idempotenter Dolibarr-Sync
- Natives Kotlin-Plugin NetDiagScanner (ARP, Ping, Ports, WLAN, DHCP, SNMP, Traceroute)
- Backbutton-Single-Instance-Modul, Auto-Updater, Toast-System
- Auftrags-/Kunden-Übersicht nach Baustellen-App-Muster
- CI: [apk]-Tag → Forgejo Runner → Package Registry netdiag-apk

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 12:01:56 +02:00