Related Android client issue: stefan-niedermann/nextcloud-deck#1887
Description
The card update API treats an omitted optional color field as null and unconditionally clears the stored card color. This causes data loss for clients that do not support the newly added card color property.
Confirmed reproduction
- Nextcloud: 34.0.1
- Deck server: 1.18.2
- Android Deck: 1.24.8
- Update endpoint:
PUT /apps/deck/api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}
Before:
{"color":"FF5733"}
The update payload changes only the title and omits color.
After:
{"color":null}
The request succeeds with HTTP 200.
Expected behavior
When color is omitted, the existing value should remain unchanged. Only an explicit "color": null should clear it.
Related Android client issue: stefan-niedermann/nextcloud-deck#1887
Description
The card update API treats an omitted optional
colorfield asnulland unconditionally clears the stored card color. This causes data loss for clients that do not support the newly added card color property.Confirmed reproduction
PUT /apps/deck/api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}Before:
{"color":"FF5733"} The update payload changes only the title and omits color. After: {"color":null} The request succeeds with HTTP 200. Expected behavior When color is omitted, the existing value should remain unchanged. Only an explicit "color": null should clear it.