docs(spec): document metamood endpoint and mpstar service-worker blocker

Investigated toggle_recipe_favorite (v0.8.3 goal):
- mpstar: not registered server-side (Service Worker intercepts it)
- metamood: registered, accepts recipe IDs, but self-reaction restriction
  prevents state changes on own recipes (same as wallmood for own posts)
- isFavorite cannot be set via any discovered endpoint

Added to SPEC.md:
- metamood endpoint spec with known limitations (FiZClassId 8004, self-reaction)
- mpstar investigation summary with unblock requirements
- mpstar / isFavorite added to Offene Punkte

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-17 07:02:25 +02:00
parent b15af18606
commit d41ac8e763
+46
View File
@@ -682,9 +682,55 @@ Premium accounts have additional categories beyond the 5 available in free tier.
**Limitation:** Currently no API endpoint to list all available categories. Categories are **Limitation:** Currently no API endpoint to list all available categories. Categories are
discovered by examining existing recipes or hardcoding known IDs. discovered by examining existing recipes or hardcoding known IDs.
### `metamood` Rezept-Reaktion (Stern setzen)
POST https://api.familywall.com/api/metamood
**Body-Parameter:**
| Parameter | Pflicht | Wert |
|---|---|---|
| `id` | ja | Rezept-metaId ⚠️ nicht `metaId`! |
| `moodType` | nein | `"STAR"`, `"LIKE"`, `"BEST_MOMENT"`, ... (Wert wird angenommen aber ignoriert) |
**Response:**
```
a00.r.r → Rezept-Objekt (FiZClassId: "8004")
.metaId → Rezept-ID
.isFavorite → aktueller Wert (unverändert)
.moodStarShortcut → aktueller Wert (unverändert)
.moodMap → aktueller Wert (unverändert)
```
**Bekannte Einschränkungen:**
- Eigene Rezepte können nicht reagiert werden (Self-Reaction-Restriction, analog zu `wallmood`)
- Der Endpoint akzeptiert Requests (HTTP 200, kein Fehler), verändert aber bei eigenen Rezepten keinen State
- `FiZClassId: "8004"` im Response deutet auf "verarbeitet aber nicht geändert" hin
- Möglicherweise funktioniert der Endpoint für Rezepte anderer Familienmitglieder (nicht testbar mit Einzel-Account)
**Entdeckt:** 2026-04-17 via FW_DEBUG=1 Probing
### `mpstar` Rezept als Favorit markieren (Service Worker blockiert)
POST https://api.familywall.com/api/mpstar
**Status:** Nicht direkt zugänglich. Der Server antwortet mit `"The call mpstar is not registered"`.
Der Browser-Aufruf `data-fw-onclick="mpstar"` wird vom Service Worker abgefangen und transformiert,
bevor er den Server erreicht. Die Transformation ist ohne Service-Worker-Analyse nicht bekannt.
**Hypothesen zum echten Endpoint:**
- Könnte eine transformierte Form von `metamood` sein (mit Verschlüsselung/Token)
- Könnte ein separater "Lesezeichen"-Endpoint sein der `isFavorite` setzt (vs. `moodMap`-Stern)
- Könnte Premium-only sein
**Zum Entsperren nötig:**
- Service-Worker-Quellcode analysieren (DevTools Application > Service Workers > Source)
- ODER: `FW_DEBUG=1` auf einem echten Multi-User-Account mit Rezepten anderer Mitglieder testen
**Entdeckt:** 2026-04-17 via FW_DEBUG=1 Probing (ausgiebige Endpoint-Suche)
## Offene Punkte ## Offene Punkte
- Unlike-Endpoint (Service Worker blockiert Analyse) - Unlike-Endpoint (Service Worker blockiert Analyse)
- `mpstar` / `isFavorite` für Rezepte (Service Worker blockiert Analyse, siehe oben)
- Erinnerungen (reminder) nur Premium-Account - Erinnerungen (reminder) nur Premium-Account
- Wiederholungen (repeat) nur Premium-Account - Wiederholungen (repeat) nur Premium-Account
- Rezept-Kategorien-Listing-Endpoint (derzeit keine API, müssen aus Rezepten extrahiert werden) - Rezept-Kategorien-Listing-Endpoint (derzeit keine API, müssen aus Rezepten extrahiert werden)