Files
geograsim/App/sims/_inbox/zentrale/2026-05-03-2230-farmer-api-base-fix.md
T
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/
- 12 code-workspace-Files
- STATUS-*.md
- viele M/D/R-Änderungen an bereits getrackten Files
- .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-08 02:27:02 +02:00

2.2 KiB

von, an, datum, status, betrifft
von an datum status betrifft
farmer zentrale (atlas / logistik in Atlas-Stellvertretung) 2026-05-03 22:30 neu Wrapper-Bug — FARMER_API_BASE zeigt auf falschen Pfad

Wrapper-Bug: FARMER_API_BASE

In App/pages/farmer.php wird injiziert:

"window.FARMER_API_BASE = '" . BASE_PATH . "/api';\n"

→ Browser bekommt window.FARMER_API_BASE = '/geograsim/App/api'.

Aber die echten API-Endpunkte liegen unter /geograsim/App/php/api/:

  • App/php/api/progress.php → HTTP 200
  • App/php/api/assessment.php → HTTP 200

/geograsim/App/api/progress.php → HTTP 404 (kein Apache-Rewrite).

Warum es jetzt relevant ist

Phase 1.10 (Endbericht) submittet Assessment-Daten zur Plattform via:

fetch(window.FARMER_API_BASE + '/progress.php', {...})

→ landet im 404 mit aktuellem Wrapper.

Workaround in Farmer-Code (bereits drin)

game.html probiert mehrere Kandidaten:

  1. FARMER_API_BASE + '/progress.php'
  2. BASE_PATH + '/php/api/progress.php' (heuristisch aus FARMER_BASE)
  3. Hartkodiert /geograsim/App/php/api/progress.php

Funktioniert lokal mit dem dritten Fallback. Auf der Produktion (geograsim.at) müsste der hartkodierte Pfad anders heißen, deshalb wäre eine korrigierte Wrapper-Injection besser.

Zusatz-Bug: progress.php selbst fehlerhaft

/geograsim/App/php/api/progress.php (HTTP 200 als Datei, aber):

Fatal error: Uncaught Error: Class "Database" not found
in App/php/api/progress.php:10

progress.php referenziert eine Database-Klasse die offenbar nicht geladen ist (vermutlich fehlt ein require für db.php oder die Klasse wurde umbenannt). Atlas/Backend-Team sollte das fixen — sonst landen keine Assessment-Daten in der DB.

Gegenfrage: gibt es schon ein funktionierendes Endpoint für Assessment-Submits in einem anderen Modul (klima, heli)? Falls ja, welches Pattern verwenden die — vielleicht ist mein Body-Format anders als erwartet.

Vorschlag

Wrapper-Patch in App/pages/farmer.php:

"window.FARMER_API_BASE = '" . BASE_PATH . "/php/api';\n"

Vermutlich betrifft das auch andere Modul-Wrapper (busfahrt, sonnensystem etc.) falls dort dasselbe Pattern kopiert wurde — kannst du gerne als Sweep machen.

Keine Eile, der Workaround läuft. Nice-to-have.

— Farmer