From 935a1593318f26cee37dac4b678a25c05cc7e489 Mon Sep 17 00:00:00 2001 From: Marcus van Elst Date: Fri, 17 Apr 2026 09:09:00 +0200 Subject: [PATCH] fix(tasks): correct reminder field mapping in get_tasks (v0.9.1) API uses reminderUnit/reminderValue keys, not unit/value. value=0 with a present unit is a valid reminder (at event time) and must not be nulled out. Co-Authored-By: Claude Sonnet 4.6 --- CLAUDE.md | 5 +++-- README.md | 2 +- pyproject.toml | 2 +- src/mcp_familywall/__init__.py | 2 +- src/mcp_familywall/server.py | 7 +++---- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index a0d3681..cc90a5b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,7 +24,7 @@ und wird in Claude Desktop eingebunden. ## Aktueller Stand -### Implementierte Tools (v0.9.0) +### Implementierte Tools (v0.9.1) | Kategorie | Tools | |---|---| @@ -56,7 +56,8 @@ und wird in Claude Desktop eingebunden. - v0.8.2: get_lists() ohne scope → alle Kreise ✓ - v0.8.3: OTHER-Listentyp dokumentiert + create_list unterstützt ihn; FW_DEBUG=1 loggt unbekannte Task-Felder (Vorbereitung Wiederholungen) ✓ - v0.8.x: mpadditemtolist (gestrichen – Family Wall kann das nativ) -- v0.9.0: get_tasks liefert recurrency, recurrency_interval, rrule, reminder (read-only) ✓ ← aktuell +- v0.9.0: get_tasks liefert recurrency, recurrency_interval, rrule, reminder (read-only) ✓ +- v0.9.1: Bugfix reminder-Mapping (reminderUnit/reminderValue statt unit/value; value=0 ist gültig) ✓ ← aktuell - v2.0: Schreibzugriff auf Wall-Posts (Erstellen, Kommentieren) diff --git a/README.md b/README.md index e1fdf46..23b4bea 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ MCP server for [Family Wall](https://www.familywall.com) -- read and manage your family's circles, lists, tasks, and recipes directly from Claude. -## Features (v0.9.0) +## Features (v0.9.1) ### Read diff --git a/pyproject.toml b/pyproject.toml index 119f0bd..1852c75 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "mcp-familywall" -version = "0.9.0" +version = "0.9.1" description = "MCP server for Family Wall — read your family's lists and tasks via Claude" readme = "README.md" requires-python = ">=3.12" diff --git a/src/mcp_familywall/__init__.py b/src/mcp_familywall/__init__.py index 3e2f46a..d69d16e 100644 --- a/src/mcp_familywall/__init__.py +++ b/src/mcp_familywall/__init__.py @@ -1 +1 @@ -__version__ = "0.9.0" +__version__ = "0.9.1" diff --git a/src/mcp_familywall/server.py b/src/mcp_familywall/server.py index 82deb2b..a444409 100644 --- a/src/mcp_familywall/server.py +++ b/src/mcp_familywall/server.py @@ -459,11 +459,10 @@ def get_tasks(list_id: str, only_open: bool = True): recurrency_interval = int(raw_interval) if raw_interval is not None else None raw_reminder = task.get("reminder") - if raw_reminder and isinstance(raw_reminder, dict): - raw_val = raw_reminder.get("value") + if raw_reminder and isinstance(raw_reminder, dict) and raw_reminder.get("reminderUnit"): reminder = { - "unit": raw_reminder.get("unit"), - "value": int(raw_val) if raw_val is not None else None, + "unit": raw_reminder["reminderUnit"], + "value": int(raw_reminder.get("reminderValue", 0)), } else: reminder = None