Skip to content

My Day & Owner-Scoped Views

Views are system-defined, read-only collections of Tasks aggregated across the Lists a user owns or is a Member of, respecting the authorization boundary (Product Brief §5.1/§5.2). “My Day” is the curated daily-focus view.

  • Backed by the myDayEntries table and createMyDayRepository(db) (src/db/repositories/my-day.ts). Entries are per-user “Add to My Day” picks.
  • Resets each calendar day at local midnight: Tasks are removed from the My Day view, never deleted from their source Lists; the user re-adds them (Product Brief §5.2 “View rules”).
  • Client-side, My Day membership reconciles via reconcileMyDay(...) (see Sync-Core Reconcilers); the outbox carries myday.add / myday.remove mutations.

“My Day”, “Important” (starred), “Planned” (has due date), “Assigned to me” (current user is assignee), and “Tasks” (full set). Views aggregate across owned + member Lists and never show Tasks from Lists the user can’t access. My Day and “Assigned to me” are owner-scoped — their change signals notify only the acting user (see notifyUsers in DB Schema & Notify-Affected), unlike list-scoped surfaces.

Related: DB Schema & Notify-Affected (recipient computation), Sync-Core Reconcilers (reconcileMyDay).