Skip to content

Add What's New popup, Sparkle auto-update, and glassmorphism UI#6

Merged
yhao3 merged 9 commits intomainfrom
feature/whats-new-glassmorphism
Jan 10, 2026
Merged

Add What's New popup, Sparkle auto-update, and glassmorphism UI#6
yhao3 merged 9 commits intomainfrom
feature/whats-new-glassmorphism

Conversation

@yhao3
Copy link
Copy Markdown
Owner

@yhao3 yhao3 commented Jan 10, 2026

Summary

  • Add What's New popup on first launch after update
  • Integrate Sparkle framework for automatic updates
  • Add unified glassmorphism UI design system
  • Fix appearance theme immediate switching
  • Fix label preview to match actual appearance

@yhao3 yhao3 force-pushed the feature/whats-new-glassmorphism branch from d7792c2 to ede1f4b Compare January 10, 2026 12:01
yhao3 added 3 commits January 10, 2026 22:25
- What's New popup on first launch after update
- Manual "What's New" button in About tab
- Automatic update checking via Sparkle framework
- CHANGELOG.md bundled for version history
- Release workflow and notarization support
- Add Design.Glass with consistent color values for dark/light modes
- Add Design.Colors.accent as primary accent color
- Add CardButtonStyle and HintoCheckboxStyle components
- Update all UI components to use unified glass system
- Fix appearance theme not updating immediately
- Fix label preview to match actual label appearance
@yhao3 yhao3 force-pushed the feature/whats-new-glassmorphism branch from ede1f4b to 7ff38d6 Compare January 10, 2026 17:14
yhao3 added 4 commits January 11, 2026 01:19
- Add validate-release-version.sh to check:
  - Version format (X.Y.Z)
  - CFBundleShortVersionString matches tag
  - CFBundleVersion matches build number formula
  - CHANGELOG.md has entry for version
- Add version-to-build-number.sh (MAJOR*10000 + MINOR*100 + PATCH)
- Update release.yml to use validation scripts
- Update CFBundleVersion to 100 for version 0.1.0
@yhao3 yhao3 force-pushed the feature/whats-new-glassmorphism branch from 7ff38d6 to 040f63c Compare January 10, 2026 17:19
@yhao3
Copy link
Copy Markdown
Owner Author

yhao3 commented Jan 10, 2026

Code review

Found 2 issues:

  1. What's New window X button does not update lastSeenVersion: When user closes the What's New popup via the window's X button instead of clicking "Continue", the lastSeenVersion is not updated. This causes the popup to show again on every app launch until the user clicks the "Continue" button. The version update is only inside the button action (line 81), but dismissWindow() can be triggered by the X button without going through this path.

if isPostUpdate {
// Mark as seen only for post-update popup
Preferences.shared.lastSeenVersion = Preferences.shared.currentVersion
}
onDismiss()
}) {
Text(isPostUpdate ? "Continue" : "Close")

  1. Scripts/release.sh sets CFBundleVersion incorrectly: The script sets CFBundleVersion to the semantic version string (e.g., "0.2.0"), but validate-release-version.sh expects it to be a build number (e.g., "200" for version 0.2.0). Running the manual release script will cause validation to fail.

hinto/Scripts/release.sh

Lines 28 to 30 in 040f63c

/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $VERSION" Resources/Info.plist
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $VERSION" Resources/Info.plist

Generated with Claude Code

If this code review was useful, please react with a thumbs up. Otherwise, react with a thumbs down.

@yhao3
Copy link
Copy Markdown
Owner Author

yhao3 commented Jan 10, 2026

Fixed both issues:

  • e38cbc0 Remove close button from What's New popup
  • 2cbb94c Fix release.sh to use build number for CFBundleVersion

@yhao3 yhao3 merged commit b2b8242 into main Jan 10, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant