Commit Graph

5661 Commits

Author SHA1 Message Date
Innei a8903284d3
refactor(animation): update spring presets for smoother transitions
- Replaced instances of 'softSpring' with 'smooth' for improved animation consistency across components, including VideoPlayer, BoostModalContent, and SourceContentView.
- Updated transition settings in modal and panel components to utilize 'snappy' for a more responsive feel.
- Removed deprecated spring presets from the constants file to streamline the animation configuration.

These changes enhance the overall user experience by providing smoother and more cohesive animations throughout the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-22 19:14:00 +08:00
Innei 9890c2e79a
feat(entry): enhance AIEntryLayout and EntryCommandShortcutRegister functionality
- Updated AIEntryLayout to use 'popLayout' mode for AnimatePresence, improving entry content overlay transitions.
- Refactored EntryCommandShortcutRegister to include hotkey support for the Escape key, allowing users to navigate away from AI entries more intuitively.
- Integrated feature flag checks to conditionally enable hotkey functionality based on the AI layout.

These changes collectively improve the user experience by enhancing animations and providing better navigation options within the AI interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-22 19:07:47 +08:00
Innei aa95332a93
fix(ai-chat): handle empty text in AIReasoningPart and improve message button visibility
- Added a check to return null if the text is empty in AIReasoningPart, preventing unnecessary rendering.
- Replaced motion div with a standard div for action buttons in AIChatMessage, improving visibility on hover with a more straightforward opacity transition.
- Updated loading element styling in AIMessageParts for better layout and visual consistency.

These changes enhance the user experience by ensuring components render correctly and improving the visibility of interactive elements.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-22 18:53:54 +08:00
Innei f609e558a5
feat(ai): ai reasoning part render
- Upgraded electron-ipc-decorator from version 0.1.1 to 0.1.3 in package.json files for both main and renderer processes.
- Updated pnpm-lock.yaml to reflect the new version and its integrity hash.
- Added AIReasoningPart export to the displays index for improved modularity in AI chat components.
- Enhanced markdown parsing logic in AIMarkdownMessage to utilize the new parseIncompleteMarkdown function for better handling of incomplete markdown content.

These changes collectively improve dependency management and enhance the functionality of the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-22 18:28:41 +08:00
Innei 6c0226b47d
chore(ipc): extract as `electron-ipc-decorator`
- Added electron-ipc-decorator as a dependency to streamline IPC method registration and context management.
- Refactored IPC service classes to utilize the new decorator, enhancing code organization and readability.
- Removed the base IPC context file, consolidating IPC logic within the decorator framework.
- Updated package.json files to include electron-ipc-decorator in both main and renderer processes.

These changes collectively enhance the IPC architecture, improving maintainability and reducing boilerplate code.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-22 16:59:53 +08:00
Stephen Zhou 08d17685e2
refactor: merge ai token usage with config call 2025-08-22 16:53:24 +08:00
Innei 8f38177e78
feat(integration): implement collapsible integration settings with CollapseCss components
- Introduced CollapseCssGroup and CollapseCss components for managing collapsible sections in the integration settings.
- Refactored integration filtering logic to streamline the display of configured integrations.
- Enhanced UI to provide better visual feedback and organization of integration settings.
- Updated the integration section to utilize the new collapsible components, improving user experience and interaction.

These changes collectively enhance the usability and organization of the integration settings interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-22 16:02:29 +08:00
Innei 6a6715a0a4
feat(ai-chat): update client SDK and enhance AI model management
- Upgraded '@follow-app/client-sdk' to version 0.3.42, improving AI model persistence and selection.
- Introduced state management for AI model selection, allowing users to choose from available models with persistence across sessions.
- Enhanced AIModelIndicator and ChatInput components for better user interaction and model selection feedback.
- Improved UserChatMessage component with animation for a smoother user experience.

These changes collectively enhance the functionality and usability of the AI chat interface, providing a more intuitive experience for users.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-22 01:32:53 +08:00
Innei 6dfb6490d9
feat(ai-chat): improve ai message style
- Updated ChatInput and ChatInterface components for improved background and border styling.
- Refined CollapsibleError component to enhance visual effects and responsiveness.
- Adjusted AIDataBlockItem and AIDataBlockPart components for better layout and compactness.
- Removed the deprecated ThinkingIndicator component to streamline the codebase.
- Enhanced UserChatMessage to separate data-block rendering and improve edit overlay positioning.

These changes collectively improve the visual consistency and usability of the AI chat interface, providing a more intuitive user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-21 23:38:51 +08:00
DIYgod c72a477709
feat(entry): add scroll-to-exit tutorial with improved UX
- Add i18n support for "Scroll up to exit" text in 3 languages
- Create first-time user tutorial with animated SVG demonstration
- Show tutorial only once using atom-based storage persistence
- Add visual hover feedback and click-to-dismiss interaction
- Auto-dismiss tutorial when user actually uses scroll gesture
- Improve SVG animation with clearer mouse/trackpad metaphor

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 23:17:46 +08:00
Innei 1f340595b6
refactor(ai-chat): split ai message or user message component
- Introduced UserChatMessage and UserMessageParts components to handle user messages distinctly, allowing for better editing and interaction.
- Updated AIChatMessage to streamline message rendering and improve markdown formatting.
- Enhanced ToolInvocationComponent with accordion functionality for better organization of tool call details.
- Adjusted layout properties across various components to ensure responsiveness and visual consistency.

These changes collectively enhance the usability and clarity of the AI chat interface, providing a more intuitive experience for users.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-21 22:05:35 +08:00
DIYgod c2ea3828fe
feat(desktop): enhance entry detail navigation tips and animations
- Added a new "smooth-bounce" animation to improve visual feedback when scrolling.
- Integrated AnimatePresence for smoother transitions in the SubscriptionColumn and AIEntryLayout components.
- Updated text prompts for returning to the timeline, enhancing clarity and user experience.
- Improved multi-language support for new exit hints in English, Japanese, and Chinese.

These changes collectively enhance the user experience by providing clearer navigation cues and smoother animations.
2025-08-21 20:11:16 +08:00
Innei cf8865342a
core: mobile prerelease changelog
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-21 19:53:10 +08:00
DIYgod 853959ec97
feat(ai-chat): streamline ChatHeader and AIChatMessage components
- Removed confirmation dialog in ChatHeader for clearing chat, directly invoking actions for a more efficient user experience.
- Simplified AIChatMessage component by replacing motion div with a standard div, enhancing performance and reducing complexity.
- Adjusted message styling for user role to improve visual consistency.
- Updated button text size for better accessibility.

These changes enhance the usability and performance of the AI chat interface.
2025-08-21 14:10:52 +08:00
DIYgod 2fff265e9a
feat(ai-chat): enhance UI components and styling in chat interface
- Updated ChatInput component to improve background styling.
- Refined button styles and layout in ChatInterface for better user interaction.
- Adjusted AIChatMessage component for improved text visibility and hover effects.
- Simplified ToolInvocationComponent layout, removing unnecessary elements for clarity.
- Added default shortcuts in DefaultWelcomeContent to enhance user experience.

These changes collectively improve the usability and visual consistency of the AI chat interface.
2025-08-21 12:58:01 +08:00
Stephen Zhou 7319d23149
fix(mobile): list can not be followed at first time 2025-08-21 12:51:02 +08:00
DIYgod a571212fef
fix: unexpected modification of non ai layout 2025-08-21 11:42:25 +08:00
Innei f086dc43f6
feat(ai): update client SDK and enhance AI settings management
- Upgraded '@follow-app/client-sdk' to version 0.3.40, reflecting the latest changes in AI model management.
- Introduced new sections for managing AI shortcuts, token usage, and MCP services within the settings interface.
- Added components for personalizing prompts and managing panel styles, improving user interaction with AI features.
- Enhanced the overall layout and organization of AI settings for better usability.

These changes collectively improve the user experience by providing a more intuitive interface for managing AI settings and enhancing the overall functionality of the AI chat feature.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-20 23:19:15 +08:00
DIYgod a3a6a2aedb
feat(desktop): add semi-transparent overlay for exiting entry detail view
When viewing entry details in wide mode, a semi-transparent overlay is now displayed over the subscription list area. This overlay includes:
- Visual indication with semi-transparent background and blur effect
- Exit hint with arrow icon and text prompting users to click to return
- Click anywhere on the overlay to navigate back to the entry list
- Multi-language support (EN, ZH-CN, JA)

This improves UX by providing a clear and intuitive way to exit the detail view.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 22:51:44 +08:00
DIYgod bdc17c0f12
fix(subscription): deduplicate feed IDs when feeds exist in both subscriptions and lists
Previously, if a feed was both directly subscribed and existed in a subscribed list,
it would appear twice in the subscription IDs array, causing unread counts to be
doubled in SubscriptionTabButton.

Fixed by using Set to deduplicate feed IDs in:
- getSubscriptionIdsByViewSelector
- getSubscribedFeedIdAndInboxHandlesByView

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 19:53:10 +08:00
Innei e3dafbc7cc
fix(ai-chat): adjust AIModelIndicator styling in ChatInput component
- Updated the className for AIModelIndicator in ChatInput to improve layout and positioning.
- Added a margin adjustment and translation to enhance visual alignment.

These changes refine the user interface for better usability within the AI chat feature.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-20 17:01:32 +08:00
Innei 889d06c2c5
feat(ai-chat): update AI model management and enhance UI components
- Upgraded '@follow-app/client-sdk' to version 0.3.39, reflecting the latest changes in AI model management.
- Introduced a new AIModelIndicator component for displaying and selecting AI models.
- Enhanced ChatInput to include the AIModelIndicator, improving user interaction with AI models.
- Updated floating panel dimensions for better usability.
- Added useAIModel hook to manage AI model state and configuration.

These changes collectively improve the user experience by providing a more intuitive interface for managing AI models and enhancing the overall functionality of the AI chat feature.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-20 16:56:28 +08:00
Stephen Zhou f3b83e6b87
feat(desktop): payment for ai (#4309)
* feat: payment for ai

* update

* update

* remove referral progress

* update

* type

* update
2025-08-20 11:27:49 +08:00
Innei 732e8f155c
chore!: remove EntryTimeline
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-19 23:56:04 +08:00
Innei 0c9977d5d3
feat(ai): implement MCP service integration for enhanced AI capabilities (#4359)
* feat(ai): implement MCP service integration for enhanced AI capabilities

- Added functionality to manage MCP services, including adding, updating, removing, and connecting to services.
- Introduced UI components for MCP service management, allowing users to enable MCP services and discover service endpoints.
- Updated AI settings to include MCP service configurations and integrated translations for new UI elements.
- Enhanced error handling and user feedback for service connection and discovery processes.

These changes collectively extend the AI capabilities by integrating external services through secure OAuth connections, improving the overall user experience.

Signed-off-by: Innei <tukon479@gmail.com>

* feat(mcp): update MCP service integration and enhance settings management

- Upgraded '@follow-app/client-sdk' to version 0.3.38, reflecting the latest changes in MCP service management.
- Removed deprecated MCP service functions and streamlined the integration process for better performance.
- Introduced new UI components for managing MCP connections, including transport type selection and header configuration.
- Enhanced error handling and user feedback for service connection and discovery processes.
- Updated translations for new UI elements related to MCP services.

These changes collectively improve the user experience by providing a more robust and intuitive interface for managing external services through secure OAuth connections.

Signed-off-by: Innei <tukon479@gmail.com>

* feat(ai-chat): enhance ToolInvocationComponent with error handling and UI updates

- Added error handling to ToolInvocationComponent, displaying error messages and visual indicators when tool execution fails.
- Updated the UI to reflect tool status, changing icons and text based on success or failure.
- Improved styling for the back button in ChatInterfaceContent for a more consistent appearance.

These changes improve user feedback and interaction within the AI chat interface, enhancing overall usability.

Signed-off-by: Innei <tukon479@gmail.com>

* refactor(ai): streamline MCPServiceItem layout for improved readability

- Removed redundant resource and prompt counts from the MCPServiceItem component to simplify the display.
- Adjusted the layout to enhance the presentation of service details, including tools, creation date, and last used date.

These changes improve the clarity and usability of the MCP service information within the AI settings interface.

Signed-off-by: Innei <tukon479@gmail.com>

* chore: update deps

Signed-off-by: Innei <tukon479@gmail.com>

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-19 23:34:19 +08:00
Innei 9872cff3f5
Merge pull request #4356 from RSSNext/sync/main-to-dev-20250819
Sync main branch to dev branch
2025-08-19 21:51:01 +08:00
Stephen Zhou c11ca3ba09
Merge branch 'dev' into sync/main-to-dev-20250819 2025-08-19 21:35:52 +08:00
Innei fb0e1cfb4e
Merge pull request #4325 from RSSNext/sync/main-to-dev-20250811
Sync main branch to dev branch
2025-08-19 13:56:19 +08:00
dependabot[bot] 94e4962093
chore(deps): bump actions/checkout from 4 to 5 (#4333)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 13:55:52 +08:00
Stephen Zhou 3a6e2f220c
Merge pull request #4355 from RSSNext/08-19-feed-title-not-showing
fix(desktop): feed title not showing in list pick
2025-08-19 12:47:32 +08:00
Stephen Zhou 849bbebdfa
fix(desktop): feed title not showing in list pick 2025-08-19 12:46:20 +08:00
DIYgod cd4042b306
feat: enhance AI shortcuts customization
- Added a new guideline to avoid using `defaultValue` in translations.
- Implemented a button to customize AI shortcuts when no shortcuts are available in the DefaultWelcomeContent component.
- Updated translation files for English, Japanese, and Simplified Chinese to include new keys for customizing shortcuts.
2025-08-19 00:37:23 +08:00
DIYgod 12bd9c1dd6
feat: ai-shortcut-button component 2025-08-18 23:28:21 +08:00
DIYgod a230840af5
feat: remove custom prompt display 2025-08-18 23:03:55 +08:00
DIYgod 8e3d7a640b
feat: remove masonry column memory 2025-08-18 22:39:53 +08:00
DIYgod 282351281c
fix: entry header actions display logic 2025-08-18 18:59:26 +08:00
DIYgod ebea7dcac1
fix: update column count logic in VirtualGridImpl for improved responsiveness
- Changed default column count from 2 to 1 in VirtualGridImpl to enhance layout adaptability.
- Adjusted breakpoint values to align with the new column count, ensuring better consistency across various screen sizes.
2025-08-17 23:00:33 +08:00
DIYgod 3d089930fd
fix: update mainWindowDefaultSize to use primary display dimensions
- Changed mainWindowDefaultSize from static properties to a getter that retrieves the primary display's work area size, ensuring the main window adapts to different screen resolutions.
- Adjusted logic for determining window dimensions to improve handling of window state and maximum size constraints.
2025-08-17 22:27:14 +08:00
DIYgod 4edae950c0
fix: adjust column count logic in VirtualGridImpl and update breakpoints for masonry layout
- Changed default column count from 1 to 2 in VirtualGridImpl for improved layout responsiveness.
- Updated breakpoint values in masonry utility to reflect new column count logic, enhancing layout consistency across different screen sizes.
2025-08-17 22:26:58 +08:00
DIYgod 8916f9bc05
fix: update SwitchToMasonryButton to include openDelay in HoverCard and simplify ActionButton onClick logic 2025-08-17 22:18:13 +08:00
DIYgod 88759ab606
fix: prevent swipe media button from triggering redirection 2025-08-17 22:12:30 +08:00
DIYgod 8f1390bc95
fix: add no-drag-region class to the entry close button to fix the issue of electron not being clickable 2025-08-17 22:02:00 +08:00
DIYgod f8917e2e76
fix: types 2025-08-17 15:23:59 +08:00
DIYgod f3a4eab8af
feat: revert entry animation and entry header 2025-08-17 12:54:54 +08:00
DIYgod f5d7cbceb5
fix: recover summary component 2025-08-16 23:57:31 +08:00
DIYgod 5360378c06
feat(ai-chat): integrate AI summary with chat interface and remove from entry content
- Add AI chat welcome screen with entry summary integration
- Implement EntrySummaryCard component for main entry context
- Add smart quick actions for entry-based AI interactions
- Remove AI summary from entry content layouts (ArticleLayout, EntryContent.legacy)
- Add localization support for AI chat features (en, ja, zh-CN)
- Clean up mobile AI summary module

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-16 23:47:02 +08:00
Innei afb916d1ef
chore: persist server config to prevent feature flag cls
- Updated the server configurations atom to use atomWithStorage, enabling persistent storage for server config data.
- Integrated getStorageNS to manage storage namespace, enhancing data retrieval and initialization.

These changes improve the management of server configurations by ensuring persistence across sessions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-16 20:45:03 +08:00
dai e08f40b962
chore: update japanese languages (#4346)
* Add new Japanese translations for integrations and settings

Added multiple new Japanese localization strings for AI features, mobile subscription form options, and extensive integration management in settings, including custom integrations, categories, and fetch options.

* Update Japanese translation for fetch template label

Replaces the English 'Fetch Template' label with its Japanese equivalent 'テンプレートを取得する' in the custom integrations settings locale file.
2025-08-15 23:16:46 +08:00
Innei 60ea682fba
feat(entry-content): introduce navigation hints constants and refactor hint logic
- Added constants for navigation hints, including icons and text, to improve maintainability and clarity.
- Refactored the EntryNavigationHandler and useEntryNavigationHints hook to utilize these constants, enhancing the user experience with clearer guidance.
- Updated styling for hint buttons to improve visual consistency across components.

These changes collectively streamline the navigation hint implementation, providing a more intuitive interaction model for users.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-15 21:37:52 +08:00
Innei 92dbd65690
refactor(entry-content): enhance entry navigation and scrolling hints
- Removed the scroll hint indicator from the AIEntryLayout component to streamline the layout.
- Introduced an EntryNavigationHandler to manage navigation hints and close gestures in the EntryContent component, improving user guidance.
- Updated the EntryScrollingAndNavigationHandler to remove unnecessary state management related to navigation hints, simplifying the logic.

These changes collectively enhance the user experience by providing clearer navigation cues and a more efficient entry content interaction model.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-15 21:27:56 +08:00