Repository navigation
1.2.0
Added
- Added the new
Trendspage inInsightswith a "Month"/"All Time" summary and bar charts #36 - Added manual performance tests for
Insights,All Joys,Trends(RUN_PERFORMANCE_TESTS=1), and a read-onlyperformance-profileskill #40 - Added
#Previewfor every view and component #27
Changed
- Changed the minimum deployment target from iOS 17.6 to iOS 18.0
- Updated
All Joyspage with a "Month"/"All Time" summary #41 - Showed the date in
All Joysonly on the latest joy of each day; the other joys of that day appear without it #42 - Adapted
Trendsto iPad #43
Fixed
- Kept the "iCloud storage is full" message while uploads still fail, and recognized a full iCloud storage reported inside a partial failure #47
- Stopped the app from crashing on launch when its storage cannot be opened #44
- Stopped
Settingsfrom contacting iCloud while sync is turned off #45 - Restored the entry's original text when saving an edit fails #27
- Fixed
Joyful Hoursto use a sliding three-hour window (wrapping past midnight) with the most entries; ties go to the window with the most recent entry #18
Performance
- Fetched only the entries
Calendar/Day/Insightsshow instead of loading every entry. With 5,000 entries: calendar ~47% fewer CPU instructions and 23% less memory, day switching ~27% fewer instructions and 31% less memory #32 - Fetched only the month/year on screen and computes cards/charts in one pass in
All JoysandTrends#40, #42
Refactored
- Moved Calendar math to
CalendarMonthLayout#27 - Replaced duplicated buttons with
NavigationIconButton,RecordActionButton,ScreenHeaderandCapsuleRow#28 - Extracted
GlowCardbuilders andNoteBubble, and addedDate.monthYearTitle(locale:)andCalendar.lummiCalendar(locale:)#29 - Replaced duplicated card styling with the
cardBackgroundmodifier andCardOpacityconstants #30 - Replaced the
ContentViewnavigation booleans withNavigationStateand aScreenenum #31 - Replaced raw animation and color literals with
Animation.lummiSpringandAccentColors#37 - Added
GlowCard.joys/.streak/.joyfulHoursandDisclosureRow, and replaced three copies of the month-start logic withCalendar.monthStart(for:)#37 - Refactored the
Insightsscreen #39 - Extracted a reusable section title for
InsightsandSettingsand removed unused helpers #39
Full Changelog: 1.1.0...1.2.0