Commit Graph

5785 Commits

Author SHA1 Message Date
songkeys 695ec79f68 refactor(Masonry): enhance positioner handling for item reflow
- Introduced a mechanism to reset the positioner when the first item in the list changes, ensuring proper layout reflow and preventing overlap.
- Utilized `React.useMemo` to derive a stable key for the first item, improving cache management and performance during item updates.

These changes enhance the layout stability and performance of the Masonry component, particularly during dynamic item updates.
2025-09-06 16:01:39 +08:00
songkeys b7d5123c70 refactor(AllItem): improve media dimension handling and layout consistency
- Integrated `useImageDimensions` to dynamically calculate media cover dimensions when not provided.
- Adjusted aspect ratio handling to ensure consistent display across media types.
- Moved the null check for `entry` to improve code readability.

These changes enhance the user experience by ensuring media elements are displayed correctly and consistently within the AllItem component.
2025-09-06 15:11:41 +08:00
DIYgod f0f26308e5 feat: improve uni-feed layout and styling consistency
- Adjusted highlight styles in the AllItem component to remove text color for better visual clarity.
- Reduced the minimum height of media elements in AllItem for a more compact layout.
- Updated the column width in AllMasonry for improved responsiveness and layout.
- Simplified the class names in MasonryItemRender for cleaner code.

These changes enhance the overall user interface by providing a more consistent and visually appealing layout across components.
2025-09-06 14:13:12 +08:00
Innei 4ecbc4b297 fix(header): fix electron macos header
- Renamed timeline column hooks to subscription column hooks for clarity and consistency.
- Updated zen mode handling in the settings and sidebar components to streamline functionality.
- Adjusted Tailwind CSS configurations for improved variant handling related to zen mode and left column visibility.

These changes enhance code readability and maintainability while improving the user experience in managing subscription visibility and settings.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-06 01:00:40 +08:00
Innei c130037e42 refactor(ai-chat): enhance ChatInput and ChatInterface layout
- Added z-index to ChatInput for improved layering.
- Refactored ChatInterface to simplify rendering logic and ensure consistent display of messages and loading indicators.
- Introduced a backdrop for the ChatInput when not centered, enhancing visual separation.

These changes improve the user interface and interaction experience within the AI chat components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-06 00:43:15 +08:00
Innei 4e0dfdfdde refactor(subscription-column): enhance swipe functionality and animation handling
- Introduced custom ordering for timeline views to improve swipe direction calculations.
- Updated state management to reflect the active view index accurately.
- Replaced animation transition properties with predefined spring presets for smoother animations.

These changes enhance the user experience by providing more intuitive swipe interactions and improved animation performance.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-06 00:08:12 +08:00
Innei 82dc3992c9 fix: should hide unhandled action in some place
- Updated `useEntryActions` to include `routeEntryId` for better context handling.
- Added `isCurrentVisitEntry` logic to conditionally hide the export action in the entry menu.
- Modified `MoreActions` component to conditionally render the customize toolbar action based on the new prop.
- Adjusted animation properties in `EntryItemWrapper` for smoother transitions.
- Added `data-hide-in-print` attribute to `AIChatFixedPanel` for improved print handling.

These changes improve the functionality and user experience of entry actions and related UI components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-05 23:55:05 +08:00
Innei f251e05c96 feat: enhance AIEntryLayout with entry header and animation
- Added AIEntryHeader component to display entry details dynamically.
- Implemented entry header animation using AnimatePresence for smoother transitions.
- Updated entry content rendering logic to improve visual consistency and user experience.

These changes enhance the layout and interaction of the AI entry components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-05 23:45:20 +08:00
Innei 530e18ecc1 fix: long hyperlinks should be wrapped at word boundaries, closed #4447
Signed-off-by: Innei <tukon479@gmail.com>
2025-09-05 23:31:34 +08:00
Innei 0e07f59c6a feat: new design ai layout (#4448)
* init

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

* feat(ai): add showSplineButton setting and update UI components

- Introduced a new setting `showSplineButton` to control the visibility of the AI assistant indicator.
- Updated the `createDefaultSettings` function to include the new setting with a default value of true.
- Modified the `AISplineButton` component to conditionally render based on the `showSplineButton` setting.
- Adjusted the modal content width in the `useDialog` hook for better layout.
- Enhanced the settings tab to define the new `showSplineButton` item with appropriate labels and descriptions.
- Updated localization files to include translations for the new setting.

These changes improve user control over the AI assistant's visibility and enhance the overall UI experience.

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

* feat(ai): implement AISmartSidebar with CSS animations

- Added AISmartSidebar component to replace motion/react animations with CSS animations for improved performance and visual effects.
- Introduced corresponding AISmartSidebar.css file to define animations and styles for the sidebar elements.
- Updated AISplineButton to conditionally render AISmartSidebar based on visibility settings.
- Refactored AIEntryLayout to use the new AIIndicator component, enhancing the integration of the sidebar.

These changes enhance the user experience by providing smoother animations and better control over the AI assistant's visibility.

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

* refactor(ui): update icon usage and improve layout spacing

- Replaced icons in the EntryMoreActions and MoreActions components for consistency.
- Adjusted padding and margin in various components, including AIEntryHeader and SubscriptionColumn, to enhance layout and visual appeal.
- Added a new label 'View' to the ai-block-constants for better clarity.

These changes improve the overall user interface and maintain consistency across components.

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

* refactor(ui): enhance ChatHeader and EntryListHeader layouts

- Updated the ChatHeaderLayout to conditionally render styles based on the floating state, improving visual consistency.
- Adjusted the EntryListHeader component to set a fixed height, ensuring uniformity in layout across different views.

These changes improve the overall user interface and maintain a consistent layout experience.

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

* refactor(ui): update ChatHeader and ChatMoreDropdown components

- Replaced GlassButton with ActionButton in ChatHeader for improved consistency and styling.
- Simplified the rendering of TaskReportDropdown and ChatMoreDropdown components.
- Adjusted layout styles in WelcomeScreen for better alignment.
- Enhanced ChatInterface to improve input positioning when no messages are present.

These changes enhance the user interface and maintain a consistent look across components.

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

* refactor(ai): adjust AI chat layout width for improved styling

- Updated the AI chat component to set a custom layout width of 65rem, enhancing the overall appearance and usability of the chat interface.

This change aims to provide a more consistent and visually appealing layout for the AI chat experience.

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

* refactor(ui): adjust spacing in EntryListHeader component

- Increased the gap between items in the EntryListHeader from 1 to 2 for improved layout and visual consistency.

This change enhances the overall user interface by providing better spacing in the header layout.

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-05 23:22:15 +08:00
songkeys 7d0a0d1c40 feat(feed): a masonry view for all feed (#4335)
* feat(feed): a masonry view for all feed (wip)

* fix: adjust color and icons

* feat: all masonry

* feat: item details

* fix: styles

* fix: styles

* fix: default tab to be -1

* fix: selectable view

* fix: safe area

* fix: remove safe area

* fix: styles

* fix: styles

* fix: navigation

* fix: aspect-ratio

* fix: hooks

* fix: styles

* chore: comment

* fix: splash issue

* fix: style

* fix: style

* fix: style

* fix: style

* fix: close entry

* fix: styles

* fix: folder in all

* fix: styles

* fix: styles

* fix: styles

* refactor(desktop): enhance entry data handling in AllItem component

- Updated the AllItem component to destructure additional properties (content, description) from the entry state for improved data accessibility.
- Modified the rendering logic to display title, content, or description in the UI, enhancing user experience by providing more context.

This refactor aims to streamline data management and improve the presentation of entry information.

* refactor(desktop): improve entry display order in AllItem component

- Adjusted the rendering logic in the AllItem component to prioritize displaying the entry title before the description and content. This change enhances the clarity and relevance of the information presented to users.

This update aims to further refine the user experience by ensuring the most important entry information is highlighted first.

* feat: enhance AllItem component with keyword highlighting

- Added support for highlighting keywords in the title using a new `title_keyword` property in the ExtraModel.
- Introduced random card and highlight styles for visual differentiation.
- Updated the rendering logic to display highlighted keywords within the title.

This improves the user experience by making important keywords more prominent in the item display.

* refactor(AllItem): update media rendering logic to include Audios

- Modified the rendering conditions in the AllItem component to include Audios in the media display alongside Articles, Notifications, and Social Media.
- Removed the previously defined separate rendering block for Audios to streamline the component structure.

This update enhances the media display functionality by integrating Audios into the existing media rendering logic.

* fix: height calc

* feat(AllMasonry): add refetch and scroll handling functionality

- Introduced a `refetch` prop to the `AllMasonry` component for improved data fetching capabilities.
- Implemented a `handleScrollTo` function to facilitate scrolling to specific items within the masonry layout.
- Updated the component structure to accommodate these new features, enhancing user interaction and experience.

This update enhances the functionality of the AllMasonry component by allowing for better data management and item navigation.

* feat(AllItem): enhance title rendering and entry read tracking

- Updated the title rendering logic to improve keyword highlighting with case-insensitive matching.
- Integrated the `unreadSyncService` to mark entries as read when hovered, enhancing user interaction.
- Refactored highlight styles to support new underline and background options for better visual distinction.

This update improves the user experience by providing clearer title visibility and tracking read status effectively.

* refactor(AllItem): streamline hover behavior and enhance title keyword matching

- Refactored hover handling to utilize a timer for showing previews, improving performance and user experience.
- Updated title keyword matching logic to ensure proper escaping of special characters, enhancing accuracy in highlighting.
- Cleaned up unused underline-wavy styles for better code maintainability.

This update optimizes the interaction flow and improves the visual representation of keywords in titles.

* feat(timeline): filter views based on AI feature flag

- Introduced a check for the AI feature to conditionally filter out the 'All' view from the timeline list.
- Updated the logic to create view IDs based on the filtered views, enhancing the timeline's adaptability to feature availability.

This update improves the timeline's functionality by ensuring that the view options align with the current feature set.

* refactor(AllItem): simplify highlight styles and improve text decoration handling

- Removed unnecessary text-decoration-skip-ink styles from highlight class names for cleaner code.
- Added inline style to ensure consistent text decoration behavior in highlighted keywords.

This update enhances code maintainability and ensures proper rendering of highlighted text.

* fix(EntryColumnGrid): add refetch prop and update comments in AllItem

- Added the `refetch` prop to the `EntryColumnGrid` component for improved data handling.
- Updated comment in `AllItem` from "Social Media" to "Common views" for better clarity.
- Enhanced the no content display in `AllItem` for improved user experience.

This update improves functionality and clarity in the entry column components.

* refactor(AllItem): clean up media handling and improve preview logic

- Removed unused `firstMedia` variable and adjusted media cover logic for clarity.
- Updated aspect ratio handling to ensure default values are set correctly.
- Enhanced the no media available display for better user experience.
- Refactored preview display logic to improve readability and maintainability.

This update streamlines the media handling in the AllItem component and enhances the user interface.

* fix: index key

* refactor(AllItem): optimize title keyword highlighting logic

- Simplified the keyword highlighting logic in the AllItem component by extracting the regex pattern into a separate variable.
- Improved readability and maintainability of the code by reducing redundancy in the title rendering function.

This update enhances the performance and clarity of the title rendering process.

* fix: button width

* fix: first screen navigation

* fix: video hovering autoplay

* feat(timeline-tabs): implement customizable timeline tabs settings

- Added a new `TimelineTabsSettingsModal` component for managing visible and hidden timeline tabs.
- Introduced drag-and-drop functionality for reordering tabs and customizing their visibility.
- Updated `SubscriptionTabButton` to accept a shortcut prop for improved keyboard navigation.
- Enhanced global shortcuts handling to allow bypassing input restrictions for specific actions.

These changes provide users with greater flexibility in managing their timeline tabs, improving the overall user experience.

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

* refactor: clean up error handling in AllMasonry component and update UnreadSyncService to use new API method

- Removed console log from error handling in the AllMasonry component to streamline the code.
- Updated the UnreadSyncService to utilize the new `markAllAsRead` API method, improving the readability and structure of the request handling.

These changes enhance code clarity and maintainability across the affected components.

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

* refactor: optimize rendering performance in AllMasonry component

- Introduced `startTransition` for setting width in the ResizeObserver to improve rendering performance during layout updates.
- Updated the `LoadingSkeleton` component's class names for better styling consistency.
- Simplified key generation in the `SkeletonGrid` component by using `null` instead of `crypto.randomUUID()`.

These changes enhance the efficiency and maintainability of the AllMasonry component and its related elements.

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

* refactor: simplify icon rendering in TimelineTabsSettingsModal

- Removed conditional rendering for the icon in the TabItem component, directly displaying the icon for improved clarity and performance.
- This change streamlines the code and enhances the maintainability of the TimelineTabsSettingsModal component.

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
2025-09-05 21:24:42 +08:00
DIYgod 335a38262a fix(media): enhance click handling and cursor styles in social media media components
- Updated the `PreviewMediaContent` and `SocialMediaGallery` components to improve click handling by stopping event propagation.
- Added cursor styles to indicate zoom functionality for better user experience.

These changes enhance the interactivity and visual feedback of media elements in the application.
2025-09-05 20:43:21 +08:00
lawvs df5acca9b7 chore: tweak switch of notify channels 2025-09-05 15:50:59 +08:00
Whitewater f2605390ef feat: add notification channels configuration (#4442)
* feat: add notification channels configuration

- Introduced NotifyChannelsConfig component for managing notification preferences.
- Updated AITaskModal to include options for notification channels.
- Enhanced task schema to support notification channels in task creation and updates.
- Added translations for notification-related strings in English, Japanese, and Chinese.

* fix: update error handling

* chore: set stale time for session list query to 1 minute

* fix: update refetch interval for AI chat session list query

* chore: update @follow-app/client-sdk to version 0.3.53

* fix: shamefully ignore ts error
2025-09-05 15:47:22 +08:00
Stephen Zhou 430e015207 Revert "feat: update transcript design"
This reverts commit a3e13ace93.
2025-09-05 10:45:26 +08:00
Innei bf2b5564c2 fix(ui): optimize tooltip duration
- Removed the `tooltipDefaultOpen` prop from the `ActionButton` component to simplify the API.
- Refactored the tooltip structure for improved readability and maintainability, ensuring consistent rendering of tooltip content.

These changes enhance the clarity and efficiency of the `ActionButton` component's tooltip functionality.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-05 00:40:15 +08:00
Innei 2c912fae20 fix(modal): Improve header action motion with more modal compliant UX design
- Introduced a new `HeaderActions` component with animation effects for improved user interaction.
- Updated the `PreviewMediaContent` to include the `HeaderActions` component, enhancing the visual feedback during media preview.

These changes enhance the user experience by providing dynamic interaction elements in the media preview interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-05 00:23:01 +08:00
Innei 68f92593b0 fix(ai-chat): enhance layout responsiveness in AIModelIndicator and ChatInterface components
- Updated the AIModelIndicator to adjust the visibility of the model name based on medium screen sizes.
- Modified the ChatInterface to ensure the GlobalFileDropZone uses the correct container class for improved layout consistency.

These changes improve the adaptability and user experience of the UI components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-04 23:41:37 +08:00
Innei f012707ebf fix(ai-chat): improve layout responsiveness in AIModelIndicator and ChatInterface components
- Updated the AIModelIndicator to conditionally display the model name based on screen size, enhancing visibility on smaller devices.
- Modified the ChatInterface to utilize a container class for better layout management, ensuring consistent styling across different screen sizes.

These changes enhance the user experience by improving the adaptability of the UI components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-04 23:38:33 +08:00
Innei 73a4e01e56 chore(ai): sync streamdown parser logic
Signed-off-by: Innei <tukon479@gmail.com>
2025-09-04 19:17:05 +08:00
Innei d81dc6c1f1 fix(ai-chat): enhance AI reasoning display with arrow indicator
- Added a `hideArrow` prop to the `CollapseCss` component for better UI control.
- Introduced a new icon that appears on hover, improving the visual feedback for users interacting with the AI reasoning section.

This update enhances the user experience by providing clearer interaction cues in the AI chat display.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-04 14:17:25 +08:00
songkeys 3461aa2a64 chore: update @follow-app/client-sdk to 0.3.51 (#4441)
* chore: update @follow-app/client-sdk to 0.3.51

* fix: resolve conflict
2025-09-04 14:02:12 +08:00
lawvs b6f5d7074f fix: remove unused ipcServices assignment 2025-09-04 13:49:19 +08:00
Stephen Zhou 6d56c83ffa fix: i18n for ai operation type 2025-09-04 11:08:32 +08:00
lawvs a1c1f1649a fix: update lock file 2025-09-04 04:36:52 +08:00
Innei 3bee8dbd20 feat(api): integrate FollowClient for API interactions
- Introduced the FollowClient from `@follow-app/client-sdk` to manage API requests and responses, enhancing the structure and maintainability of the API client.
- Refactored the API client to utilize the new FollowClient, including request and response interceptors for logging and error handling.
- Updated the `updateNotificationsToken` and `deleteNotificationsToken` functions to use the new API methods.
- Added a new IPC service for better communication between the main and renderer processes.

This update improves API interaction efficiency and enhances error handling across the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-04 01:06:39 +08:00
Innei 9a7d11504a refactor(ai-chat): simplify loading and error states in display components
- Removed unnecessary props and card wrappers from LoadingState and ErrorState components, streamlining their structure.
- Updated the withDisplayStateHandler function to reflect these changes, enhancing readability and maintainability.
- This refactor improves the overall performance and user experience of the AI chat display components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-03 23:10:14 +08:00
Stephen Zhou 2443d20461 fix: add data block for main view 2025-09-03 23:07:40 +08:00
Innei d64b22adb8 feat(ai): re-design ai subscription component
- Updated the version of `@folo-services/ai-tools` from `0.2.34` to `0.2.36` in `pnpm-lock.yaml` and `package.json`.
- Updated the version of `@folo-services/drizzle` from `0.1.24` to `0.1.25` in `pnpm-lock.yaml`.
- Refactored the `AIDisplaySubscriptionsPart` component to streamline the rendering of subscription items and improve navigation handling.
- Removed unused code and optimized the component structure for better maintainability.

This update enhances the AI tools integration and improves the user experience in the AI display component.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-03 23:04:25 +08:00
Innei 12ded3b345 fix(discover): should validate form values
- Added form validation schema to the DiscoverForm for better input handling.
- Refactored keyword handling in DiscoverForm to improve performance using startTransition.
- Updated InboxTable to display a message when no inboxes are available, enhancing user feedback.
- Added localization for the new no inbox message.

This update improves user experience and input validation in the discover module.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-03 21:27:45 +08:00
Stephen Zhou 0ca804adb7 feat: add main view block 2025-09-03 17:21:27 +08:00
DIYgod d234f64d89 chore(workflow): remove max-tokens setting from similar-issues workflow 2025-09-03 16:12:27 +08:00
DIYgod 0b65d723c5 chore(workflow): update token in similar-issues workflow 2025-09-03 16:10:34 +08:00
DIYgod 360e6553e5 feat(ai): simplify EntrySummaryCard and remove unused quick actions
- Removed the `onSend` prop from `EntrySummaryCard` and associated quick actions logic, streamlining the component.
- Updated the `WelcomeScreen` to reflect the changes in `EntrySummaryCard`.
- Removed the `useSmartQuickActions` hook as it was no longer needed.
- Cleaned up localization files by removing the "conversation_starters" key.

This refactor enhances the clarity and maintainability of the AI chat components.
2025-09-03 15:52:51 +08:00
Stephen Zhou 62dae268cf fix: align entry item skeleton 2025-09-03 10:54:49 +08:00
Innei 2f5bbb9d9f feat(chat): auto-position user message to the viewport first
- Introduced new state and refs to manage the minimum height of the message container dynamically, improving layout stability during message sending.
- Implemented scroll positioning adjustments to ensure user messages are displayed correctly after sending.
- Updated the Messages component to accept a ref for better height calculations, enhancing the overall user experience in the chat interface.

This update improves the responsiveness and visual consistency of the chat interface during interactions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-03 00:49:13 +08:00
Innei c27a491c3f fix(modal): improve modal exit handling with deferred value
- Updated the `useHasModal` hook to utilize `useDeferredValue`, addressing issues with simultaneous hotkey responses during modal exit.
- This change enhances the responsiveness and reliability of modal interactions, ensuring a smoother user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-02 22:30:11 +08:00
Innei 607d6b3d5e fix(ai): restore ai summary card shown when chat panel closed
- Updated the modal's close logic to call `readyToClose()` before proceeding with the close action, ensuring that the animation state is properly managed.
- This change enhances the user experience by preventing premature closure of the modal during animations.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-02 22:29:37 +08:00
Innei 40722d27ba feat(tutorial): integrate ScrollToExitTutorial for first-time users
- Removed the `show` prop from `ScrollToExitTutorial` and integrated it with the AI feature flag to determine visibility.
- Updated `EntryScrollingAndNavigationHandler` to display the tutorial for first-time users based on the presence of `entryId`.
- Cleaned up the `EntryHeaderImpl` component by removing the previous tutorial implementation.

This update enhances user onboarding by providing a tutorial for new users navigating the scroll-to-exit feature.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-02 21:47:17 +08:00
Innei 7897675a88 refactor(modal): streamline animation handling in modal component
- Removed the local state for closing animation and integrated it into the `useModalAnimate` hook.
- Updated the `useModalAnimate` hook to manage the closing state internally, improving encapsulation and reducing prop drilling.
- Enhanced the modal's close logic to prevent multiple calls during closing.

This refactor improves the maintainability and clarity of the modal component's animation logic.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-02 21:42:28 +08:00
DIYgod 7fc979536b chore: add endpoint to similar_issues workflow for inference integration 2025-09-02 18:34:14 +08:00
lawvs d8c6783b6a refactor: update message normalization to include metadata handling 2025-09-02 18:28:35 +08:00
lawvs 55d8cb2566 fix: prevent default action on audio play click 2025-09-02 18:27:48 +08:00
DIYgod 354b1b1b17 chore: add endpoint to similar_issues prompt configuration for inference 2025-09-02 17:39:38 +08:00
Whitewater c219971425 fix: type lint (#4430)
* fix: type lint

* fix: types
2025-09-02 14:14:05 +08:00
Innei c74bffd96d fix(ai): welcome screen overflow
- Added `ScrollArea` component to the `WelcomeScreen` to enhance scrolling behavior and layout management.
- Updated the structure of the component to ensure better responsiveness and user experience.

This update improves the overall usability of the WelcomeScreen in the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-02 00:54:30 +08:00
Innei 125bfbed06 refactor(ai): ai display components
- Bumped version of `@folo-services/ai-tools` from 0.2.33 to 0.2.34 in package.json and pnpm-lock.yaml.
- Refactored `AIDisplayEntriesPart` and `AIDisplayFeedsPart` components to streamline rendering and improve user interaction.
- Updated the `withDisplayStateHandler` to accommodate input props for better state management.
- Enhanced the overall structure and readability of the display components.

This update improves the functionality and maintainability of the AI chat interface components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-02 00:40:43 +08:00
Innei 79bf7a86e5 feat(ai): update ai-tools and optimize chat message components animation
- Bumped version of `@folo-services/ai-tools` from 0.2.31 to 0.2.33 in package.json and pnpm-lock.yaml.
- Refactored `AIDisplayFlowPart` to improve error handling and compatibility with older data structures.
- Enhanced `AIChatMessage` and `AIMessageParts` components to support new props for better message rendering.
- Updated animation styles for chat messages to improve user experience during interactions.

This update improves the overall functionality and visual appeal of the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-02 00:09:42 +08:00
Innei 1f54e024b9 feat(ai): enhance markdown rendering and animation in chat messages
- Added support for `react-markdown` and `rehype-raw` to improve markdown processing.
- Introduced `MarkdownAnimateText` component for animated text rendering during streaming.
- Updated `AIMessageParts` to utilize the new animation features.
- Refactored `AIMarkdownMessage.v2` to streamline markdown parsing and rendering.
- Created new utility components for tokenized text animation.

This update significantly enhances the user experience during chat interactions by providing dynamic and visually appealing markdown content.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-01 22:47:42 +08:00
Innei c8ba9aa2cd chore(ai): remove inappropriate fade-in animation
- Added AIMarkdownMessage.old.tsx for legacy markdown rendering.
- Introduced AIMarkdownMessage.v2.tsx with optimized streaming capabilities.
- Updated AIMessageParts to utilize the new AIMarkdownMessage.v2 component.
- Adjusted UserChatMessage and UserMessageParts to reference the appropriate AIMarkdownMessage versions.

This update enhances the markdown rendering experience during streaming interactions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-01 21:39:33 +08:00