* feat: add desktop-release skill for regular version releases
Add a comprehensive skill for performing regular desktop releases from dev branch.
Includes changelog management, mainHash evaluation (critical for determining whether
users need full app updates vs lightweight renderer hot updates), and automated PR creation.
The skill guides users through:
1. Gathering commits since last release and categorizing changes
2. Updating changelog with proper formatting
3. Evaluating whether mainHash should be updated (main process code changes)
4. Executing version bump with optional mainHash skip for faster renderer-only updates
5. Verifying PR creation
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* fix: avoid unstaged bump.config.ts edit breaking git rebase
Change the "skip mainHash" strategy from pre-editing bump.config.ts
(which breaks `git pull --rebase` in the leading step) to a post-bump
approach: let bump run normally, then restore the old mainHash value
and amend + force push the release branch.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: correct working directory for mainHash restore step
After `cd apps/desktop && pnpm bump`, the cwd is apps/desktop/.
Add explicit `cd ../..` before the amend step so paths resolve correctly.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
Wrap new URL() constructor in try-catch to gracefully handle malformed URL strings that start with 'http' but are invalid. Returns null instead of throwing.
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
Remove the checkNew query and related state management that periodically checked for new entries in the timeline. The hasUpdate state and related UI indication (refresh button highlighting) have been removed while preserving fetchedTime for mark-all-read filtering.
* refactor: remove entry tags support
* fix: remove remaining tags references from entry selectors
Follow-up to 9ea61dbfd - these files were missed in the entry tags removal.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Remove the following modules and features:
- Referral/invitation system across desktop, mobile, and SSR
- AI memory management (SaveMemoryCard, ManageMemoryCard, UserMemorySection)
- Daily reward claim and reward description modal
- Activity points and level display in wallet
- Related query files and imports
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
* feat: optimize Stripe subscription management UI
- Replace static billing portal link with dynamic Stripe Billing Portal Session API
- Allow canceled subscriptions to display status and expiration date
- Show subscription status indicator with color coding (green/blue/yellow)
- Move status info above manage button for better layout
- Update UI for both desktop and mobile platforms
- Add translations for subscription status messages
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* fix: use authenticated API client for billing portal on mobile
Replace raw fetch with followClient.request() to properly inject
authentication cookie and required headers on React Native.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
- Wrapped SortByUnreadFeedList in memo for performance optimization.
- Utilized useCallback for the sortedList computation to prevent unnecessary re-renders.
- Enhanced the handling of onboarding and regular categories by ensuring a copy of ids is used.
- Minor adjustments in SubscriptionList and hooks for consistency and clarity.
Signed-off-by: Innei <tukon479@gmail.com>