From 8310f802dd9fc6ef5dff0be7f640f79c5b39987f Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Mon, 13 Jul 2026 06:54:13 +0000 Subject: feat(widget): editable task details, scrollable list, and overdue-task fixes - Add description editing to the widget's task detail popup for doot/gtasks/trello, backed by new GET /api/widget/detail and POST /api/widget/update endpoints - Make Google Tasks and Trello cards completable via the widget (Trello completion archives the card); fix Trello description never being fetched, which meant saving could silently wipe a card's real desc - Fix google_tasks.due_date/updated_at (TEXT columns) never round-tripping through sql.NullTime, which broke cached Google Tasks reads whenever the cache was valid - Fix native-task and Google-Task date-range queries excluding anything due before the window start, which dropped incomplete tasks off the widget the moment their due day passed (the "overdue tasks disappeared" bug) - Fix native task description edits blanking the task's title - Make the widget's day list scroll (LazyColumn) instead of clipping - Optimistically remove a task from the widget immediately on completion, ahead of the authoritative background refresh Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01EZ7ikw2ukGJFTHE3bJS7zL --- internal/models/types.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'internal/models/types.go') diff --git a/internal/models/types.go b/internal/models/types.go index d9dd515..58d3888 100644 --- a/internal/models/types.go +++ b/internal/models/types.go @@ -109,13 +109,14 @@ type Board struct { // Card represents a Trello card type Card struct { - ID string `json:"id"` - Name string `json:"name"` - ListID string `json:"list_id"` - ListName string `json:"list_name"` - BoardName string `json:"board_name"` - DueDate *time.Time `json:"due_date,omitempty"` - URL string `json:"url"` + ID string `json:"id"` + Name string `json:"name"` + Description string `json:"description"` + ListID string `json:"list_id"` + ListName string `json:"list_name"` + BoardName string `json:"board_name"` + DueDate *time.Time `json:"due_date,omitempty"` + URL string `json:"url"` } // Project represents a project (used for source config grouping) -- cgit v1.2.3