Calendar events support multiple reminder offsets with presets and per-user defaults.
Lists index adds inline task entry and list property editing.
Generic entity comments on list detail. New bangs.stats dashboard widget.
Closes Gitea #28, #29, #30, #31. Migrations 0022 and 0023.
Delete unused Fab component (superseded by QuickAddFab), unused server
actions and queries (listDashboards, reorderDashboards, deleteCareLog,
canAccessContainer, getOverduePlants, getCareDueSoon, addItemToDefaultList,
reorderItems, getOrCreateDefaultList), unused helpers (getCurrentUser,
BrandWordmark, TopbarSpacer, DEV_LOGIN_COOKIE, no-arg ensureDefault*
wrappers, addListItem re-export), and drop export keyword from five
internal-only functions.
Verified with typecheck, eslint, and production build after each removal.
- care reminders now fire with plant-specific body ("Time to water Pothos")
via title/body columns on the reminders table (migration 0016)
- bi-directional task sync: checking off a garden-linked task list item
creates a care log; logging care from garden marks the linked task done
(list_items.metadata stores gardenPlantId + gardenCareType linkage)
- upload error response no longer leaks debug detail; error message
corrected from "5 MB" to "100 MB"
- activity_log table in _core/schema.ts with household+created_at index;
migration 0008_activity_log.sql applied
- logActivity() in _core/activity.ts reads current session and inserts a row
- ActivityLogEntry type + renderActivity?(entry): string added to
EntityTypeRegistration so modules declare human-readable labels without
any if/else branches in the widget
- core.activity widget replaced with a real async server component that
queries the last 20 rows and renders via the registry
- logActivity wired into every create/update/delete in calendar, lists,
and notes server actions; getAuthorizedItem also returns text so
toggle/delete can include item text in the payload
- pnpm typecheck, lint, build, and all 4 E2E specs pass
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>