Commit Graph

1298 Commits

Author SHA1 Message Date
DIYgod 2290ec7f3c fix: preserve session when switching API domain (#4833)
* feat(auth): migrate session across API domain switch

* fix(auth): address PR review on migration flow

* fix(ci): avoid package.json mutation during renderer build
2026-02-12 20:58:03 +08:00
DIYgod 62efdd29b2 fix: handle invalid URL parsing in useFeedSafeUrl hook (#4823)
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>
2026-01-30 13:48:23 +08:00
DIYgod c0ce04453f refactor: remove checkNew timeline update detection logic (#4817)
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.
2026-01-21 13:31:54 +08:00
DIYgod 2bba6a9032 refactor: remove entry tags support (#4813)
* 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>
2026-01-18 17:37:16 +08:00
DIYgod 95b0da87a4 refactor: remove deprecated features (referral, invitations, memory, wallet) (#4812)
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>
2026-01-18 16:22:10 +08:00
XLor f03e81b8fc feat: markdown link supports open share feed link directly (#4811)
* feat: markdown link supports open share feed link directly

* docs: update changelog

* fix: revert stopPropagation

* fix: revert stopPropagation

* fix: revert stopPropagation
2026-01-16 21:35:54 +08:00
DIYgod 8970d4d1d9 fix: mainHash 2026-01-02 19:23:03 +08:00
DIYgod a86b2c6383 feat: optimize Stripe subscription management UI (#4793)
* 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>
2026-01-01 19:15:34 +08:00
DIYgod f39bcb97d8 fix: align ai-chat message types (#4792) 2026-01-01 16:45:54 +08:00
DIYgod 3d21eab3f0 chore: update ai sdk to v6.0.5 (#4790) 2026-01-01 15:52:02 +08:00
DIYgod 211bd6e67e Revert "feat: apple iap in electron (#4757)"
This reverts commit edf417fe81.
2026-01-01 14:52:34 +08:00
DIYgod 7d7723f04f chore: update license 2025-12-28 18:27:30 +08:00
DIYgod c9b0e65182 Revert "fix(headers): set app origin for OPTIONS requests"
This reverts commit dbff42baca.
2025-12-24 16:22:31 +08:00
DIYgod dbff42baca fix(headers): set app origin for OPTIONS requests 2025-12-24 12:18:38 +08:00
Stephen Zhou edf417fe81 feat: apple iap in electron (#4757)
* feat: apple iap in electron

* update
2025-12-24 10:26:49 +08:00
DIYgod 1f0902177c fix(translation): refresh cache on mode changes 2025-12-22 13:51:47 +08:00
DIYgod 688cfceab9 feat: upgrade ai sdk 2025-12-18 12:07:27 +08:00
DIYgod 1b7d88275a feat: remove unused login benefits and not logged in notice 2025-12-15 13:09:49 +08:00
DIYgod 45568d010f chore: remove list power pricing ui 2025-12-15 12:58:39 +08:00
DIYgod 899eb7309f feat(entry-content): integrate AI translation support in EntryContent component 2025-12-15 12:55:44 +08:00
Innei 3bab2a5595 fix(discover): correct atom key reference in UnifiedDiscoverForm to ensure proper data retrieval
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 23:19:35 +08:00
Innei d7bc90ba0a refactor: optimize SortByUnreadFeedList component and improve state handling
- 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>
2025-11-27 22:51:05 +08:00
Stephen Zhou 1aa8b63305 fix: stable unread sort 2025-11-27 22:40:37 +08:00
Konv Suu 07acce799e fix(discover): prevent empty results when keyword changes without search (#4759)
Co-authored-by: Innei <i@innei.in>
2025-11-27 01:09:36 +08:00
Innei 844b5f490f feat: refactor discover module state management
- Introduced new atom hooks for managing discover search data, improving state handling in UnifiedDiscoverForm.
- Replaced direct atom usage with custom hooks for better abstraction and maintainability.
- Updated related components to utilize the new state management approach, enhancing overall code clarity.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 01:08:01 +08:00
Innei 519d0ba110 feat: enhance feed management with filtering options
- Added a responsive select component to filter feeds by type (All, RSSHub).
- Implemented logic to count and display RSSHub feeds.
- Updated feed selection and sorting functionality to respect the selected filter.
- Enhanced localization files to include new filter labels in English, Japanese, Simplified Chinese, and Traditional Chinese.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 17:35:24 +08:00
Innei f7460fd7ce style: adjust unify setting item margin
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 17:17:12 +08:00
Innei 431a32345d feat: redesign discover layout
- Introduced DiscoveryContent and UnifiedDiscoverForm components for better organization and functionality in the discover module.
- Updated existing components to remove unnecessary max-width constraints for improved responsiveness.
- Enhanced the Trending component with a view selector and improved layout handling.
- Updated localization files to include new tool descriptions and tips for user guidance.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-25 22:44:14 +08:00
Innei 0ee37eec61 perf: sync with streamdown logic
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-25 19:42:15 +08:00
Stephen Zhou 03e99f55c6 chore: try remove workbox preaching 2025-11-25 14:48:54 +08:00
Stephen Zhou 51d39f6f6f fix: youtube embed 2025-11-25 12:05:33 +08:00
Innei 0e441f6075 feat: add attribution tracking for analytics
- Introduced attribution tracking by capturing UTM parameters from the URL.
- Implemented functions to save and retrieve attribution data from local storage.
- Enhanced analytics initialization to include attribution data as user properties.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-25 01:37:28 +08:00
Innei b1a1caa002 chore: modify copy to increase conversion
- Updated layout and styling for the LoginModalContent component to improve visual hierarchy and user experience.
- Added new benefits and subtitles to the login interface, enhancing clarity for users.
- Introduced a quick start hint for new users and a demo view button for better engagement.
- Updated localization files for English, Japanese, Simplified Chinese, and Traditional Chinese to reflect new content.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-25 01:17:36 +08:00
Innei f178f486f8 feat: implement mobile layout for AIEnhancedTimeline
- Added MobileTimelineLayout component to handle mobile-specific rendering.
- Integrated useMobile hook for responsive behavior in AIEnhancedTimelineLayout.
- Updated layout logic to conditionally render components based on mobile view.
- Enhanced dropdown and context menu styles for better visual feedback.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 16:41:25 +08:00
Innei ad8575d737 feat: narrowed responsive layout handling, closed #4370
- Added a renderValue function to the LanguageSelector for improved display of selected language names.
- Updated layout component to support responsive behavior based on viewport width.
- Refactored setting sync to utilize useMobile hook for better mobile detection.
- Enhanced withResponsiveComponent to accept a breakpoint function for more flexible responsive layouts.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 16:02:17 +08:00
Innei 452bb941a9 fix: entry 404 rendered error, closed #4729
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 15:26:44 +08:00
Innei a52c0473f0 fix: update EntryListHeader styling and enhance FeedItem context menu
- Removed conditional class application for feedIcon in EntryListHeader to simplify styling.
- Added functionality to the FeedItem context menu to allow users to switch views, integrating a new menu item for changing to another view based on the current subscription.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 15:18:49 +08:00
Stephen Zhou 8087bebfee chore: lint 2025-11-21 16:48:18 +08:00
Stephen Zhou 5e0f2a09b5 fix: stable image proxy utils 2025-11-21 16:43:21 +08:00
Innei 4b482fc78e refactor: simplify TagEntriesModal layout and improve loading state handling
- Updated the layout of TagEntriesModal for better responsiveness and visual clarity.
- Removed unnecessary loading state handling for the refresh button.
- Enhanced the key generation for mapped items to avoid potential duplication.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-21 16:29:42 +08:00
Innei 8afbb47caa feat: enhance TagEntriesModal with feed selection options
- Added a segment control to allow users to toggle between viewing entries from the current feed or all feeds.
- Integrated translation support for the new segment labels in English, Japanese, Simplified Chinese, and Traditional Chinese.
- Updated the useEntryTagsQuery hook to enable fetching based on the selected feed scope.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-21 16:27:02 +08:00
Stephen Zhou df82ac45c9 fix: do not register notification when there are no user 2025-11-21 16:02:41 +08:00
Innei dc70a241bf fix: remove EntryTags component from ListItem template
- Eliminated the EntryTags component from the ListItem template to streamline the rendering process.
- This change may improve performance and reduce unnecessary rendering in the entry column.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-21 15:50:27 +08:00
Innei cdea2fa5dd refactor: update ShadowDOM and ArticleLayout components for improved text selection handling
- Replaced the useRef with useState in ShadowDOM to manage shadowRoot more effectively.
- Enhanced text selection listener logic to ensure proper cleanup and functionality.
- Added console logs in ArticleLayout for debugging text selection events.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 22:09:23 +08:00
Innei 4e3e1c1513 fix: ensure selection is cleared on entry change
- Added a useEffect hook to clear selection whenever the entryId changes, improving the component's responsiveness to entry updates.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 21:54:09 +08:00
DIYgod 6e1f9d8a8f feat: add PersonalizePromptSection to AI settings 2025-11-20 20:14:49 +08:00
Innei 0099f30a03 chore: update '@folo-services/ai-tools' version to 0.2.65 and enhance TokenUsagePill component
- Bumped the version of '@folo-services/ai-tools' to 0.2.65 in pnpm-lock.yaml and pnpm-workspace.yaml.
- Refactored the TokenUsagePill component to improve structure and added localization support for token usage information.
- Introduced new model info and provider info sections for better user clarity.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 20:00:40 +08:00
Innei f364f4b0f0 fix: adjust layout styles in AIChatMessage component for improved responsiveness
- Updated the class names in the AIChatMessage component to ensure full-width display for message elements.
- Enhanced the layout structure to better accommodate varying message sizes and improve overall user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 19:33:55 +08:00
Innei 50641b60e5 Merge remote-tracking branch 'origin/dev' into dev
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 19:03:31 +08:00
Innei f83234e7d9 feat: ai tags ui
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 19:02:42 +08:00