Skip to content

Releases: Dvalin21/Hearthboard

Alpha 37

Choose a tag to compare

@Dvalin21 Dvalin21 released this 13 Jun 00:47

Header buttons: text-only bold black; filter row slideable colored bars (~3in); wall mode auto-navigates to Calendar from Settings

alpha.36 — one-button meal+grocery+task

Choose a tag to compare

@Dvalin21 Dvalin21 released this 11 Jun 05:32

Recipe detail dialog: single 'Plan Meal & Add to Shopping List' button with date + meal slot pickers. Creates meal plan entry, calendar event, grocery list items, and shopping task in one press. Quick-add from recipe cards defaults to today's dinner.

1.0.0-alpha.35

Choose a tag to compare

@Dvalin21 Dvalin21 released this 11 Jun 02:28

alpha.35 — Recipes edit/grocery/publish, People Labels, Rewards per-person

Recipes

  • Full add/edit dialog with all fields (ingredients, instructions, prep/cook time, servings, tags, source URL, rating, favorite)
  • Grocery list integration: one-tap add ingredients to Grocery List checklist with person assignment + shopping task
  • Person picker for grocery list assignment
  • Delete confirmation dialog (no more accidental deletions)
  • Search matches tags, description, ingredients, instructions (not just name)
  • One-click Publish to Mealie for local recipes

People

  • Color-coded Labels (categories) with many-to-many person-label assignments

Rewards

  • per-person reward assignment (renamed to assignedPersonId, 0 = anyone)
  • renewAfterRedeeming flag for recurring rewards

Database

  • v8 -> v10 (Label, PersonLabel tables)

Other

  • Chores screen removed from navigation

Alpha Latest (filter row with actual counts + vacation countdown)

Choose a tag to compare

@Dvalin21 Dvalin21 released this 12 Jun 04:58

Filter row now shows actual task/chore counts + vacation countdown:

Filter Row Updates:

  • Actual active task/chore counts per person (from database)
  • Format: 'Name N' where N = active tasks + chores assigned
  • Vacation countdown chip: 'Vacation: X days' (from countdown events with 'vacation', 'holiday', 'break' in title)
  • Colored dots per person, 'All' chip, vacation chip

New Database Queries:

  • TaskDao: active task/chore/total count per person
  • TaskRepository: exposes count methods
  • CalendarViewModel: taskChoreCounts flow (Map<personId, activeCount>), nextVacationCountdown flow

Previous Features Preserved:

  • Navigation rail with old English initial, white pill active state
  • Header with 'The [LastName] Family', live clock, weather icons, temp C/F
  • Schedule + Filter buttons (view mode in filter sheet)
  • Week view: 5 days, current day first, bold headers
  • Bottom nav: grayish bg, white squared pill, People→Settings, Sleep in More
  • Dark mode via MaterialTheme.colorScheme

APK: app/build/outputs/apk/debug/app-debug.apk (~64MB)

v1.0.0-alpha.34 — Deprecation cleanup

Choose a tag to compare

@Dvalin21 Dvalin21 released this 10 Jun 02:00

Changes

  • Removed all @file:Suppress("DEPRECATION") annotations from 6 files
  • Migrated all Icons.Default.* to Icons.Filled.* or Icons.AutoMirrored.Filled.*
  • Fixed deprecated Modifier.menuAnchor() overload
  • Tasks: profile columns timeline (§6), profile columns day view (§6)
  • Sleep log with bar chart
  • Photos gallery (ImageDecoder-only, minSdk 31)
  • DB v8: startMs/endMs on tasks for timeline support
  • Zero compile warnings, zero lint deprecation warnings

v1.0.0-alpha.29

Choose a tag to compare

@Dvalin21 Dvalin21 released this 10 Jun 00:44

What's Changed

Navigation and UI restructured to match Skylight Calendar spec.

New

  • Home dashboard: Week calendar strip + today's events + active tasks + checklists
  • Portrait/phone bottom nav: Home, Calendar, Tasks, Lists, More (was left rail always)
  • Landscape/tablet: Left nav rail with full tab list (unchanged)
  • Tab order: Home → Calendar → Tasks → Rewards → Meals → Photos → Lists → Sleep
  • Photos screen: Placeholder tab (full implementation pending)
  • Sleep screen: Placeholder tab (full implementation pending)

Changed

  • Navigation adapts to screen width: currentWindowAdaptiveInfo() drives bottom nav vs rail
  • Start destination changed from Calendar to Home
  • All existing features preserved: People, Chores, Recipes, Wall Mode, Kiosk, Mealie integration

Fixed

  • No regressions — build verified

v1.0.0-alpha.28

Choose a tag to compare

@Dvalin21 Dvalin21 released this 10 Jun 00:27

What's fixed

Duplicate "Syncing..." in Settings

Settings showed "Syncing..." twice — once in each account row's subtitle, and again as a separate status text below all accounts. Removed the redundant block. Each account row now shows its own sync state inline.

Sync is now faster (parallel ICS fetching)

Changed from sequential per-event HTTP fetches to batched parallel fetches (6 at a time). For a first sync with 200 events at ~200ms each, this drops from ~40 seconds to ~7 seconds.

What's coming next

I have the full Skylight Calendar UI spec now. Upcoming changes align with:

  • Left navigation rail with Home tab
  • Calendar event bubbles as full-color rounded chips
  • Orange time bar for Week/Day views
  • Portrait bottom navigation
  • Proper multi-day event joining
  • All your existing features preserved

How to verify

  1. Open Settings — each account shows one status line (no duplicate)
  2. Sync should complete noticeably faster
  3. Month view event chips use full-color fill with white text

v1.0.0-alpha.27

Choose a tag to compare

@Dvalin21 Dvalin21 released this 10 Jun 00:00

What's fixed

Sync now actually discovers calendars (CRITICAL BUG)

  • Root cause: The isCalendar/isCollection checks in scanForCalendars() used it.children.any { ... } — but the flat XmlPullParser never populates the children list (bug since commit 587a34b). Child elements like <calendar/> inside <resourcetype> appear as separate flat entries, not nested. Every calendar was silently filtered out → 0 calendars discovered.
  • Fix: Match child elements by localName directly on the flat prop list.
  • Also fixed: Self-reference URL comparison compared a path (/SOGo/dav/...) against a full URL (https://...), so the collection itself was never skipped. Now compares full URLs via buildUrl().

Month view now looks like Skylight

  • Event chips — changed from subtle 3dp color-band style to full-color rounded bubbles with high-contrast white text. Shows "H:MM Title" format. Text color auto-adapts to chip background luminance.
  • Today dot — changed from grey-blue to orange (#E07B39), matching Skylight's orange dot for today's date.

How to verify

  1. After setup, check logcat for: Discovered N calendar(s) — should show N > 0
  2. Month view should show color-filled event chips matching each person's profile color
  3. Today's date circle should appear orange

v1.0.0-alpha.26

Choose a tag to compare

@Dvalin21 Dvalin21 released this 09 Jun 04:30

What's new

Bug fixes (alpha.25 feedback)

  • Avatar on LEFT — person profile initial moved to left side of top bar, matching Skylight's layout
  • Status bar overlap fixed — Navigation root now applies windowInsetsPadding to prevent content from drawing behind system bars
  • Countdown/invite strip removed — the 'extra week thing' chip strip is gone from CalendarScreen

Shared calendars (CalDAV)

  • Recursive calendar discovery — now probes sub-collections (like SOGo's shared/ directory) instead of only scanning depth=1 from the home set root. Shared calendars from Mailcow/SOGo should now appear after sync.

UI refinements

  • CalendarControls — cleaned up layout to match Skylight's button bar: Today | ← → | divider | Mo Wk Dy Ag | +

v1.0.0-alpha.25 — Skylight UI Redesign

Choose a tag to compare

@Dvalin21 Dvalin21 released this 09 Jun 03:41

What's New

  • Skylight-inspired UI redesign: Left sidebar navigation with Skylight tab order (Calendar → Tasks → Rewards → Meals → Lists → People → Chores → Recipes → Settings)
  • New AppHeader: Top info bar showing current date/day, weather, and person avatar (colored circle with initial)
  • Calendar controls: View mode tabs, navigation, and Add Event button now sit inline below the header — no longer in a TopAppBar
  • Left navigation on all screen sizes: NavigationRail on the left, icons-only on phones, full with labels on tablets
  • Sync status fix: Accounts no longer permanently show "Syncing…" after sync completes

Installation

Download the APK below and install directly on your Android device.