Files
carry-your-live/CHANGELOG.md
T
2026-08-06 11:16:47 +02:00

4.9 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Friends feature: friends service, FriendsProvider, FriendsModal, Settings entry
  • Assignee field on tasks (schema v7, model, types, forms, sync, taskActions)
  • AssigneeSelector component and assignee display in TaskItem
  • QuickAddBar on tasks overview (copied from calendar)
  • Removed WheelTimePicker selection band highlighter
  • Removed drag lift popup from TaskItem (scale + shadow on drag)
  • Removed checkbox from task items
  • Fixed selection bar overlapping QuickAddBar on tasks overview
  • Backend: mounted friends route, added assigneeId to task validation and sync

Changed

  • Due date prefilled from Calendar "+" button
  • 12-hour time formatting across task rows and pickers
  • Calendar strip scrolls to selected day when navigating months
  • Calendar completion toggle now handles repeating tasks and reminders
  • Task color strips now use the task's category color

Fixed

  • WheelTimePicker FlatList scroll clamping: added contentContainerStyle paddingBottom so all hours (0-23) and minutes (0-59) are reachable via scrolling
  • WheelTimePicker: added selection highlight background to WheelRow, visually connecting selected item with colon separator
  • WheelTimePicker: fixed number alignment in scroll list (row width 100%, contentContainerStyle stretch)
  • Tasks without a due date no longer get overdue styling
  • useOverdueTasks infinite re-subscription loop (Date.now in effect deps)
  • Web/Android crashes from decorator transform ordering (babel config)
  • FormButtons crash outside FormProvider; Cancel navigation fallback
  • Task repeat settings, reminders and series info now sync to the backend (previously repeated tasks lost their repeat after sync)

Deprecated

  • N/A

Removed

  • Task color picker (task color now comes from its category)

Security

  • N/A

[1.0.0] - 2026-08-05

Added

  • Core Features

    • To-Do List screen with category filter
    • Add New Task screen with all fields
    • Calendar screen with date strip
    • Settings screen
    • Bottom navigation bar
  • Task Management

    • Create, read, update, delete tasks
    • Category organization (6 default categories)
    • Priority levels (None, Low, Medium, High, Critical)
    • Due dates and times
    • Subtasks with unlimited nesting
    • Descriptions (1000 chars)
    • Task completion with visual feedback
    • Overdue and due-today highlighting
  • Offline-First Architecture

    • WatermelonDB with SQLite persistence
    • Reactive queries for instant UI updates
    • Background sync with custom API
    • Conflict resolution (last-write-wins)
    • Automatic default category seeding
  • User Interface

    • Minimalist design with 8px grid
    • Rounded containers (16-20px)
    • Category color coding
    • Smooth animations (150-250ms)
    • Safe area support for notches
    • Dark mode ready (toggle in settings)
  • Navigation

    • Expo Router file-based routing
    • Persistent bottom tabs (Tasks, Calendar, Settings)
    • Modal stack for Add Task screen
    • Type-safe navigation
  • Developer Experience

    • TypeScript strict mode
    • ESLint + Prettier configuration
    • Path aliases (@/components, @/hooks, etc.)
    • WatermelonDB decorators support
    • React Hook Form + Zod validation

Technical Details

Database Schema

  • categories table (id, name, color, order, timestamps)
  • tasks table (id, title, description, category_id, priority, completed, due_date, due_time, timestamps)
  • subtasks table (id, task_id, title, completed, order, timestamps)
  • Indexes on category_id, due_date, completed for performance

Sync Protocol

  • Pull: GET /sync?since={timestamp}
  • Push: POST /sync/push with batched changes
  • Timestamp-based incremental sync
  • Upsert semantics for conflict resolution

Components

  • Header - App logo + title with rounded corners
  • CategoryFilter - Horizontal scrollable chips
  • TaskList - Virtualized FlatList with sections
  • TaskItem - Swipeable row with checkbox, title, priority, due date, menu
  • FloatingActionButton - Animated FAB with rotation
  • CategorySelector - Chip group for task creation
  • DateTimePicker - Native date/time pickers
  • PrioritySelector - Segmented control with colors
  • SubtasksSection - Dynamic field array
  • FormButtons - Fixed bottom actions

Hooks

  • useDatabase - Database context + initialization
  • useCategories - Reactive category list
  • useTasks - Filtered task queries with loading state
  • useTasksByDate - Calendar date queries

Version History Template

[X.Y.Z] - YYYY-MM-DD

Added

  • New features

Changed

  • Changes in existing functionality

Deprecated

  • Soon-to-be removed features

Removed

  • Removed features

Fixed

  • Bug fixes

Security

  • Vulnerability fixes