Repository navigation
feat(ui): macOS 26 Liquid Glass redesign and first-launch flow - #8
Merged
Merged
Conversation
- deployment target 13.0 -> 26.0, CI and release runners macos-15 -> macos-26 - set ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME so the orange AccentColor asset is actually used instead of the system blue
- popover: countdown ring, Liquid Glass actions, daily standing goal card, friendlier status lines - first-launch welcome flow; notification permission asked in context - history: summary cards, toolbar actions, chart tooltips, labeled goal, standing stacked first so it lines up with the goal - settings: mode cards instead of a truncating segmented control - varied notification copy; no deprecated APIs at the macOS 26 SDK
- pause the per-second TimelineViews while the menu bar window is occluded; a plain periodic schedule keeps ticking after the window is ordered out - keep history in chronological order and scan date ranges from the end - drop events older than 365 days at launch to bound memory and file rewrites
bendns
force-pushed
the
feat/liquid-glass-ui
branch
from
October 20, 2026 13:17
abd7a71 to
5a6a8b4
Compare
bendns
marked this pull request as ready for review
October 20, 2026 13:29
bendns
marked this pull request as ready for review
October 20, 2026 13:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
UI refresh targeting macOS 26 (Liquid Glass), with a friendlier tone throughout.
Changes
Platform
macos-15tomacos-26, because the Liquid Glass APIs need the macOS 26 SDK. If the PR's CI fails to find that runner, this is the line to look at.ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAMEwas never set, so the orangeAccentColorasset (the brand color in the README cover) was ignored and the UI fell back to the system blue. It is now wired up.Text +concatenation,activate(ignoringOtherApps:), single-parameteronChange, and an unneedednonisolated(unsafe).Popover
GlassEffectContainer.Presets.dailyStandGoal).TimelineViews.First launch
History
ContentUnavailableViewempty states.Settings and notifications
Performance
onWindowVisibilityChange+PausableEverySecondSchedule). A probe showed that a plain.periodicTimelineView keeps ticking after the window is ordered out.history.json, but CSV export only covers the last year.Testing
HopFormatTests, a week-bucketing test, and history ordering, range and pruning tests).Not changed / follow-ups
Files changed
Hop/Design/WindowVisibility.swift,Hop/Models/Onboarding.swift,Hop/Views/Welcome/WelcomeView.swift,Hop/Views/Components/ModePicker.swift,Hop/Views/Components/TimePickers.swift(moved out ofScheduleTab),HopTests/HopFormatTests.swiftHop/Design/DesignSystem.swift,Hop/Menu/MenuPopoverView.swift,Hop/HopApp.swift,Hop/AppDelegate.swiftHop/Views/History/HistoryView.swift,TodayChart.swift,WeekChart.swiftHop/Views/Settings/GeneralTab.swift,ScheduleTab.swiftHop/Persistence/HistoryStore.swift,HopTests/HistoryStoreTests.swiftHop/Models/Presets.swift,Hop/Scheduler/NotificationManager.swift,Hop/Scheduler/PostureScheduler.swiftproject.yml,README.md,.github/workflows/ci.yml,.github/workflows/release.yml