fix(tasks): remove non-functional reminder write params (v1.1.2)
Exhaustive FW_DEBUG investigation on both Free and Premium accounts confirmed that taskupdate2 silently ignores all reminder fields regardless of encoding (flat, JSON-string, PHP-bracket, all variants). Alternative endpoints (tasksetalert etc.) are unregistered. Root cause: mobile app Service Worker transforms reminder requests in ways not reproducible via direct API calls. Reminders remain read-only. Recurrency write confirmed working (flat encoding). Docs updated with full investigation findings. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -208,16 +208,20 @@ POST https://api.familywall.com/api/taskupdate2
|
||||
| `byMonthDay` | nein | int (z.B. `7` für "am 7. des Monats") |
|
||||
| `recurrencyEndDate` | nein | ISO-Datum (z.B. `"2026-12-31"`) |
|
||||
| `endOccurence` | nein | int (nach N Wiederholungen aufhören) |
|
||||
| `reminderUnit` | nein | `"MINUTE"` \| `"HOUR"` \| `"DAY"` (löschen: `""`) |
|
||||
| `reminderValue` | nein | int (`0` = zum Zeitpunkt, `15` = 15 min vorher); löschen: `0` |
|
||||
| `reminderType` | nein | immer `"SNOOZE"` |
|
||||
| `localId` | nein | immer `0` |
|
||||
|
||||
**Hinweis:** `taskListId` ist NICHT Pflicht beim Update.
|
||||
|
||||
**⚠️ Encoding:** Der FiZ-`Ai()`-Encoder serialisiert alle Felder **flach** als Top-Level-Form-Parameter.
|
||||
`recurrencyDescriptor` und `reminder` sind **keine** verschachtelten JSON-Objekte — die Felder
|
||||
werden direkt auf Top-Level gesendet (verifiziert via xb-Encoder / fc-Encoder im JS-Bundle).
|
||||
Recurrency-Felder werden direkt auf Top-Level gesendet (verifiziert via xb-Encoder im JS-Bundle).
|
||||
|
||||
**⚠️ Reminder-Schreibzugriff nicht möglich:**
|
||||
Alle Versuche, `reminderUnit`, `reminderValue`, `reminderType`, `localId` via `taskupdate2`
|
||||
zu setzen, wurden ignoriert — die API antwortet mit HTTP 200 und `lastAction: UPDATED`,
|
||||
aber `reminder` bleibt unverändert auf dem Default-Wert `{reminderUnit: MINUTE, reminderType: NONE, reminderValue: 0}`.
|
||||
Auch alternative Encodings (JSON-String, PHP-Bracket, verschachtelt) und alternative Endpoints
|
||||
(`tasksetalert`, `taskalertput` etc.) wurden erprobt — alle Endpoints sind nicht registriert.
|
||||
**Ursache:** Reminder-Updates werden vom Service Worker der mobilen App abgefangen und transformiert.
|
||||
Diese Transformation ist nicht reproduzierbar ohne den Service Worker.
|
||||
Reminder sind daher **read-only** (wie in v0.9 dokumentiert).
|
||||
|
||||
**Response:**
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user