Commit Graph

5589 Commits

Author SHA1 Message Date
Innei 3cd4eebddd
feat(footer): add PoweredByFooter component for enhanced branding
- Introduced a new PoweredByFooter component to display copyright information and social media links.
- Updated layout and styling for better responsiveness and visual appeal.
- Removed the old PoweredByFooter implementation from the internal components.

These changes collectively enhance the user experience by providing a consistent branding element across the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-12 23:18:59 +08:00
Innei da24b8a37f
refactor(header): improve header layout and styling
- Updated header component styles for better responsiveness and visual appeal.
- Changed border radius and padding for the header elements to enhance the overall design.
- Adjusted margin and width properties to ensure consistent layout across different screen sizes.

These changes collectively enhance the user experience by providing a more polished and adaptable header design.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-12 21:43:46 +08:00
Innei abd0e28af7
feat(ai): support switch ai panel style in ai setting
- Added a new PanelStyleSegment component to manage AI chat panel styles, allowing users to select between fixed and floating layouts.
- Updated localization files to include new strings for panel style settings.
- Refactored existing components to integrate the new panel style options, improving user configurability and experience.

These changes collectively enhance the flexibility and usability of the AI chat interface, providing users with better control over their layout preferences.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-12 21:02:55 +08:00
Innei e528367e8b
feat(ai): support AI chat close float panel
- Introduced a new interface for WebAISettings, extending AISettings to include panel style options.
- Updated default settings creation to include a fixed panel style.
- Refactored AI chat panel visibility management, allowing dynamic visibility based on panel style.
- Implemented a new hook for managing AI panel visibility and integrated it into the floating panel component.
- Removed deprecated context bar search service and replaced it with a unified feed entry search service for improved search functionality.

These changes collectively enhance the configurability and usability of the AI chat interface, providing users with better control over their settings and layout preferences.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-12 20:37:48 +08:00
lawvs a8418e4fe7 fix: handle potential IndexSizeError in text selection listener 2025-08-12 01:35:56 +08:00
Innei ab537447e8
feat(ai): implement fixed and floating chat panel styles
- Introduced a new enum for AI chat panel styles, allowing users to toggle between fixed and floating layouts.
- Added state management for the floating panel dimensions and position, ensuring it remains anchored during window resizing.
- Updated various components to utilize the new panel style settings, enhancing the user experience with improved layout flexibility.
- Implemented UI elements for toggling between fixed and floating modes in the chat interface.

These changes collectively enhance the functionality and usability of the AI chat interface, providing users with more control over their layout preferences.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-12 01:27:57 +08:00
Innei 3d577699fc
refactor(ai): optimize code rendering and layout adjustments
- Introduced memoization for the ShikiHighLighter component to enhance performance during code rendering.
- Updated layout properties in AIDisplayFlowPart and AIMessageParts for improved responsiveness and visual consistency.
- Enhanced the ChatInterface component with flex properties for better layout management.
- Adjusted message rendering logic in AIMarkdownStreamingMessage to improve first paint performance.

These changes collectively enhance the efficiency and user experience of the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-12 00:24:42 +08:00
Innei 0737300ee4
feat(ai): implement auto-scroll feature and initialize settings
- Updated the AI chat settings to include an auto-scroll feature when streaming messages.
- Introduced a new settings initialization function to set default values for various AI settings.
- Enhanced the ChatInterface component to utilize the new auto-scroll setting for improved user experience.
- Added localization support for the new auto-scroll setting in the English language file.

These changes collectively enhance the functionality and usability of the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-11 23:26:32 +08:00
Innei bce22113a0
refactor: streamline animation handling and improve layout responsiveness
- Replaced custom spring transition settings with predefined Spring presets for smoother animations in AIEntryLayout.
- Removed unused animation logic and imports in EntryContent to simplify the component structure.
- Enhanced ArticleLayout's responsiveness by adjusting padding for better layout on smaller screens.

These changes collectively improve code maintainability and user interface responsiveness.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-11 23:19:55 +08:00
Innei dba2461de7
fix(ai): fix auto-scroll logic and improve some ui
- Updated the ChatInterface component to improve scrolling behavior and UI elements.
- Replaced the scroll-to-bottom button with a more visually appealing design and added functionality to reset scroll state.
- Enhanced the AIChatWaitingIndicator with animations for better user feedback during processing.
- Refactored the useAutoScroll hook to improve performance and user interaction handling, ensuring smoother scrolling experience.
- Filtered out empty message parts before persisting to the database, improving data integrity.

These changes collectively enhance the user experience in the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-11 22:44:47 +08:00
Stephen Zhou e844a68b28
feat: author info for entry, close #4329 2025-08-11 22:26:56 +08:00
Konv Suu b34a6673d4
refactor(desktop): enhance drop-zone component flexibility (#4324)
* refactor(desktop): enhance drop-zone component flexibility

* Update
2025-08-11 16:29:23 +08:00
Innei 1dceab3046
chore: update build and tag action
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-11 16:18:36 +08:00
Innei 53ef23074b
refactor(ai-file): cleanup and re-structure codebase
- Added FileAttachmentNode to handle file attachments in the editor.
- Introduced FileUploadPlugin to manage file uploads via drag-and-drop and paste.
- Created hooks for file upload integration and synchronization with chat blocks.
- Implemented UI components for file drop zone and file attachment display.
- Enhanced error handling and progress tracking during file uploads.
- Updated existing components to support new file attachment features.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-09 00:17:40 +08:00
Innei 9bb974b8fd
feat(ai): support ai attachement (#4316)
* init

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

* feat(ai-chat): enhance file handling with category-based icon retrieval

- Introduced `getFileCategoryFromMimeType` function to categorize file types based on MIME type, improving the clarity of file handling in the AI chat interface.
- Updated `FileAttachmentBlock` and `AIChatContextBar` components to utilize the new categorization function for determining file icons, streamlining the code and enhancing maintainability.
- Removed redundant MIME type checks, simplifying the logic for icon assignment.

These changes improve the user experience by ensuring accurate file representation and reduce code complexity.

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

* feat: preview image

* Update avatar upload to use followApi and bump deps

* feat: Refactor AI chat context blocks and file upload handling

- Introduced new components for rendering AI chat context blocks, including AIDataBlockItem and AIDataBlockPart.
- Enhanced file attachment handling by updating the structure of AIChatContextBlock to separate file attachments from other block types.
- Implemented a new file upload hook (useFileUpload) to manage file uploads with progress tracking and toast notifications.
- Added UploadProgress and CircularProgress components for visual feedback during file uploads.
- Improved file processing logic to simulate realistic upload progress and handle errors more effectively.
- Updated existing components to utilize the new block structure and file upload logic.
- Created utility functions for managing block styles, icons, and labels for better code organization.

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

* feat: Enhance chat message rendering with Suspense and add ThinkingIndicator component

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

* fix: Remove error check for message metadata in AIChatMessage component

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-08 16:32:52 +08:00
dependabot[bot] 6a616f6595
chore(deps): bump signpath/github-action-submit-signing-request (#4313)
Bumps [signpath/github-action-submit-signing-request](https://github.com/signpath/github-action-submit-signing-request) from 1.2 to 1.3.
- [Commits](https://github.com/signpath/github-action-submit-signing-request/compare/v1.2...v1.3)

---
updated-dependencies:
- dependency-name: signpath/github-action-submit-signing-request
  dependency-version: '1.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 16:03:36 +08:00
Innei 71b5e6ef79
Merge pull request #4312 from RSSNext/sync/main-to-dev-20250807
Sync main branch to dev branch
2025-08-07 23:00:25 +08:00
Innei ab540b23d1
feat(ai): chat session sort by updated 2025-08-07 22:12:00 +08:00
Innei cb5a2cd114
feat(ai): support customize chat title 2025-08-07 20:57:12 +08:00
Innei c654ca176c
feat(ai): preview react flow modal
- Expand CLAUDE.md with detailed app/package structure
- Add full-screen flow chart preview modal to AIDisplayFlowPart
- Improve flow chart display and loading element sizing
2025-08-07 19:21:13 +08:00
Innei 9a12198d23
fix(ai): handle chat export mention syntax 2025-08-07 18:06:55 +08:00
Innei 3224aa656f
Merge pull request #4310 from RSSNext/release/desktop/0.7.0
release(desktop): Release v0.7.0
2025-08-07 17:13:40 +08:00
Innei a78fe3e633
chore: temporarily back to the original release logic
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-07 15:56:02 +08:00
Innei 31b2bc9ced
release(desktop): release v0.7.0 2025-08-07 14:43:50 +08:00
Innei 3b03d0435e
fix(feed-title): fix feed title in list
- Swapped the order of title rendering to prioritize the provided title over the preferred title from the feed.
- This change improves the clarity of the displayed title in the feed component.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-07 14:39:56 +08:00
Whitewater 846d25d4da
chore(deps): update ai and folo dependencies (#4308) 2025-08-07 13:54:25 +08:00
Innei 28867d117d
fix(ai-chat): adjust layout for WelcomeScreen and ChatInterface
- Updated the positioning of the personal prompt in the WelcomeScreen to use absolute positioning for better visibility.
- Corrected the translate-y calculation in ChatInterface to ensure proper alignment when no messages are present.

These changes enhance the layout and user experience of the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-07 11:08:02 +08:00
Innei d78b7961fe
chore(ai-chat): update scroll threshold for chat interface
- Adjusted the SCROLL_BOTTOM_THRESHOLD to dynamically use half of the window's inner height, improving the scrolling behavior in the chat interface.
- This change enhances the user experience by ensuring better visibility of new messages.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-07 00:36:28 +08:00
Innei 71fd806c29
chore(ai): adjust `AIChatWaitingIndicator`
- Replaced the AIChatTypingIndicator component with AIChatWaitingIndicator for improved clarity in the chat interface.
- Updated the rendering logic in ChatInterface to reflect this change, enhancing the user experience during message submission.

These modifications streamline the chat interface and clarify the status of message processing.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-06 23:25:57 +08:00
Innei 79e22e6593
feat(ai-chat): store scroll element ref
- Integrated AnimatePresence for smoother transitions in the ChatInterface layout.
- Refactored scroll area handling to use state instead of ref, improving responsiveness and state management.
- Updated WelcomeScreen button animations for better user experience during interactions.

These changes enhance the visual appeal and functionality of the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-06 21:32:24 +08:00
dependabot[bot] 4f8ff18221
chore(deps): bump signpath/github-action-submit-signing-request (#4307)
Bumps [signpath/github-action-submit-signing-request](https://github.com/signpath/github-action-submit-signing-request) from 1.2 to 1.3.
- [Commits](https://github.com/signpath/github-action-submit-signing-request/compare/v1.2...v1.3)

---
updated-dependencies:
- dependency-name: signpath/github-action-submit-signing-request
  dependency-version: '1.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-06 14:57:58 +08:00
Innei 83d21d69b8
chore: cleanup mermaid
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-06 01:16:35 +08:00
Innei aa386f6765
feat(ai-chat): integrate react flow to replace mermaid
- Added @xyflow/react as a dependency and integrated its flow chart functionality into the AI chat interface.
- Updated AIDisplay components to improve rendering and state management, ensuring a more responsive user experience.
- Refactored several display components for better readability and maintainability, including AIDisplayAnalyticsPart, AIDisplayEntriesPart, AIDisplayFeedsPart, and AIDisplaySubscriptionsPart.
- Introduced AIDisplayFlowPart for visualizing flow charts, enhancing the overall functionality of the chat interface.

These changes significantly improve the user experience and maintainability of the AI chat application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-06 01:15:56 +08:00
Innei 0a687b9fd8
feat(ai-chat): enhance AIMarkdownMessage and AIMessageParts for streaming support
- Introduced AIMarkdownStreamingMessage to handle streaming text updates, improving user experience during message processing.
- Updated AIMessageParts to conditionally render AIMarkdownStreamingMessage for assistant messages, ensuring proper display during streaming.
- Added safety checks and cleanup logic in useStreamingTextBuffer to prevent memory leaks and ensure robust handling of text updates.

These changes enhance the functionality and responsiveness of the AI chat interface during streaming scenarios.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-06 00:43:06 +08:00
Innei 1117841489
fix: adjust ai error fallback ui
- Replaced motion div with a standard div in AIErrorFallback for improved layout consistency.
- Updated button label from "Reload Chat" to "Reload Page" for clarity.
- Streamlined the ChatInterface component by removing unnecessary return statements, enhancing readability.

These changes improve the clarity and maintainability of the AI chat components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-06 00:24:01 +08:00
Innei a8e7058ba2
feat(ai-chat): add AIErrorFallback component and integrate error handling in ChatInterface
- Introduced AIErrorFallback component to provide a user-friendly error display for AI chat errors.
- Wrapped ChatInterface in an ErrorBoundary to catch and handle errors gracefully, enhancing user experience during failures.
- Updated ChatInput rendering logic to improve layout responsiveness based on message presence.

These changes improve error management and user interaction within the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-06 00:21:28 +08:00
Innei dc8ce1f902
fix(ai): edit previous message parse in rich editor
- Integrated ScrollArea for better message editing experience in the EditableMessage component.
- Updated initial editor state handling to streamline the setup process.
- Added MentionPlugin to support mentions within the editor, enhancing user interaction.
- Refactored LexicalRichEditor to utilize EditorRefPlugin for improved editor reference management.

These changes improve the usability and functionality of the message editing interface in the AI chat application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-06 00:00:38 +08:00
Innei 5f8988e792
refactor(ai-chat): streamline display components and enhance state handling
- Refactored AIDisplay components to utilize a new higher-order component for display state management, improving code clarity and reducing redundancy.
- Introduced DisplayCardWrapper for consistent card layout across display components.
- Removed unused ChartPlaceholder component and consolidated state handling logic.
- Updated AIDisplay components to enhance user experience by ensuring proper loading and error states.

These changes improve maintainability and user experience in the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-05 23:33:29 +08:00
Innei 7a908ee0e3
fix: remove unused clearUISettings call from clearLocalPersistStoreData
- Eliminated the clearUISettings function call from clearLocalPersistStoreData, streamlining the data clearing process.
- This change improves code clarity and maintains the focus on database cleanup operations.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-05 22:51:20 +08:00
Innei 96d751f180
feat(ai-chat): enhance mention functionality to support CJK characters
- Updated MENTION_TRIGGER_PATTERN to include support for Chinese, Japanese, and Korean characters, improving the mention feature's accessibility for a broader audience.
- Refactored getMentionType to return both mention type and cleaned query for better handling in search functionalities.
- Adjusted mention search hooks and dropdown components to utilize the updated patterns and improve user experience during mention input.

These changes enhance the overall functionality and inclusivity of the mention feature in the chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-05 22:35:53 +08:00
Innei a91078af08
fix: update MentionNode fallback to improve rendering
- Changed the fallback in MentionNode from displaying the mention name to null, enhancing the rendering behavior during loading states.

This update improves the user experience by ensuring a cleaner interface while mentions are being processed.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-05 22:00:57 +08:00
Innei 8107caef2c
chore: cleanup export
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-05 01:49:09 +08:00
Innei 896988f445
fix: lint error
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-05 01:48:52 +08:00
Innei 8e0e921d1a
refactor(ai-chat): improve message rendering and styling
- Updated AIMarkdownMessage to conditionally apply rehypePlugins based on processing state, enhancing performance.
- Replaced preformatted JSON display in ToolInvocationComponent with JsonHighlighter for better readability and styling.
- Adjusted ShikiHighLighter component in FeedClaimModalContent to remove unnecessary padding, improving layout consistency.
- Wrapped claim button text in a span for better semantic structure.

These changes enhance the user experience by improving the rendering of messages and ensuring a more consistent UI across components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-05 01:47:56 +08:00
Innei 5b2669e1b5
feat(ai): enhance chat interface with animated text and buffer improvements
- Introduced an animatedPlugin for enhanced text rendering in AIMarkdownMessage, adding a fade-in effect for words.
- Updated StreamingMessageBuffer to include a maximum buffer size to prevent out-of-memory issues.
- Improved the layout of ChatInput in ChatInterface for better spacing.
- Adjusted the PoweredByFooter link color for better visibility.
- Refactored parseMarkdown to support rehype plugins, allowing for more flexible markdown processing.

These changes enhance the user experience in the AI chat interface by improving text animations and performance during message rendering.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-05 01:31:47 +08:00
Innei 510f0b94e1
feat(ai): implement streaming message buffer and enhance thinking indicator
- Introduced a new StreamingMessageBuffer class for efficient text rendering during streaming, allowing for better state management and performance.
- Updated the AIMarkdownMessage component to utilize the streaming buffer for rendering text, improving responsiveness during processing.
- Enhanced the ThinkingIndicator component with a shimmering effect for a more visually appealing user experience.

These changes improve the overall performance and user interaction within the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-05 01:10:11 +08:00
Innei fc11d0089f
chore: update dependencies and refactor ai-chat module structure
- Updated @follow-app/client-sdk to version 0.3.26 in pnpm-lock.yaml and pnpm-workspace.yaml.
- Upgraded ai package to version 5.0.2 across various package.json files.
- Refactored ai-chat components to use new store structure, moving types and hooks from __internal__ to store.
- Introduced new AIChatContext and hooks for better state management in the ai-chat module.

These changes enhance the maintainability and performance of the ai-chat module while ensuring compatibility with updated dependencies.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-05 00:08:55 +08:00
Innei 635ca82c5d
chore: re-structure ai module file tree
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-04 23:31:54 +08:00
Innei 8214578b21
fix(ai): update grid layout for analytics and entries components
Signed-off-by: Innei <tukon479@gmail.com>
2025-08-04 23:19:52 +08:00
Innei c4ac1b1875
feat(ai): add ai mention plugin (#4305)
* init

* refactor

* implement mention plugin for chat input

- Updated pnpm-lock.yaml and pnpm-workspace.yaml to include new versions of @floating-ui packages.
- Added MentionPlugin to the chat input component, enabling mention functionality.
- Created necessary components, hooks, and utilities for mention handling, including MentionNode, MentionDropdown, and related styles.
- Refactored existing code to integrate mention features seamlessly into the chat interface.

This update enhances the chat experience by allowing users to mention others easily, improving interactivity and engagement.

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

* Enhance mention functionality in chat editor

- Integrated MentionNode into AIRichTextMessage for improved mention handling.
- Updated MentionPlugin to utilize new hooks for mention search and insertion.
- Added useMentionIntegration and useMentionSearchService hooks for better mention management.
- Created contextBarSearchService and feedEntrySearchService for unified search functionality.
- Refactored LexicalRichEditor to support custom nodes from plugins.

This update improves the chat experience by streamlining mention interactions and enhancing search capabilities.

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

* Enhance mention integration and synchronization in chat editor

- Updated ChatInput layout for improved button positioning.
- Added select-none class to mention styles for better user experience.
- Refactored MentionDropdown to improve the display of mention types and content.
- Introduced useMentionBlockSync hook for bidirectional synchronization between mention nodes and context blocks.
- Enhanced useMentionIntegration to handle mention insertion with node key tracking.
- Implemented useMentionSearchService for streamlined mention search functionality.

These changes improve the overall mention handling and user interaction within the chat editor, making it more intuitive and efficient.

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

* Refactor ChatInput layout to include ScrollArea for improved scrolling experience

- Wrapped LexicalRichEditor in a ScrollArea component to enhance the input area’s usability.
- Adjusted styles in LexicalRichEditor for better layout consistency.

These changes aim to improve user interaction within the chat input by providing a more flexible scrolling interface.

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

* Remove deprecated mention functionality and update MentionNode for markdown export

- Deleted mention-related files and types as functionality has been moved to the desktop app.
- Updated MentionNode to change the text content format for markdown export.
- Refactored useMentionBlockSync to remove unused helper functions and streamline dependencies.
- Adjusted LexicalRichEditor placeholder styles for better alignment.

These changes clean up the codebase by removing obsolete mention features and enhancing the current mention handling in the chat editor.

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

* Implement AI chat message tracking functionality

- Added tracking for AI chat messages sent by integrating the tracker module into the ChatInterface component.
- Introduced a new tracker point for AIChatMessageSent in the TrackerMapper enum.
- Removed deprecated entry tracking methods to streamline the tracking process.

These changes enhance the analytics capabilities of the chat interface by monitoring AI interactions more effectively.

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

* Update VSCode settings for Tailwind CSS and i18n-ally configuration

- Streamlined the tailwindCSS.experimental.classRegex by removing unnecessary line breaks for better readability.
- Consolidated the tailwindCSS.experimental.configFile and i18n-ally settings into single-line arrays for consistency.
- Ensured proper formatting and alignment of settings to enhance maintainability.

These changes improve the clarity and organization of the VSCode settings file.

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-04 23:06:15 +08:00