mirror of
https://github.com/RSSNext/Folo.git
synced 2026-10-20 07:21:57 +08:00
desktop@0.9.0
118 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
21124f50c9 |
fix(entry-content): scroll to top on content animation start, fixed #4599
- Added functionality to scroll to the top of the EntryContent when the animation starts, utilizing the springScrollTo utility. - Removed unused zenMode method from the RenderGlobalContext interface to clean up the code. These changes enhance the user experience by ensuring the content is visible upon entry and streamline the codebase by removing unnecessary methods. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
c80209f7ed | feat: remove 'ai-page' target from shortcuts and related components | ||
|
|
53ec8ec512 | feat: update AI feature integration and adjust layout styles | ||
|
|
2d5c94587b | feat: server shorcuts | ||
|
|
1cf837d475 |
fix(settings): update ACCENT_COLOR_MAP to use 'orange' as default fallback
- Changed the ACCENT_COLOR_MAP definition to use a type-safe approach with `satisfies`. - Updated the fallback color in `getAccentColorValue` function from `blue` to `orange` for consistency in accent color handling. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
2d66d07d34 |
feat(ai-chat): add shortcut functionality with AI page support
- Updated the ChatShortcutsRow component to include logic for displaying shortcuts based on the AI page context. - Added a new target option for shortcuts to be displayed specifically on the AI page. - Modified the ShortcutModalContent to allow users to select the AI page as a target for shortcuts. - Updated localization files to include new translations for the AI page shortcut target. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
750a69e2f6 |
feat(appearance): add custom color picker for accent color selection
- Introduced a CustomColorPicker component to allow users to select custom hex colors for the accent color. - Updated the AccentColorSelector to integrate the new color picker with a popover for better user experience. - Enhanced the getAccentColorValue function to handle custom colors and return appropriate values for light and dark themes. - Adjusted styles and icons for improved visual consistency. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
79b0dab3b4 | feat: add last used login method tracking in LoginModalContent | ||
|
|
7507270b39 | chore: update dependencies | ||
|
|
5f4e47da07 | feat: make summarize timeline shortcut undeletable | ||
|
|
2607e2042b | feat(ai): refine summarization prompt for clarity and context | ||
|
|
6966ec56ad | feat(ai): add default shortcuts for summarization and analysis | ||
|
|
6fa873ec25 | feat(shortcuts): enhance shortcut management with contextual targeting and UI updates | ||
|
|
907655e1aa | refactor: remove startupScreen option | ||
|
|
4595666cd5 | chore: fix typecheck | ||
|
|
ba236f6bb9 |
feat: add image-only view setting and related UI updates (#4524)
* feat: add image-only view setting and related UI updates - Introduced a new setting for image-only view mode. - Updated components to conditionally render based on the new setting. - Added translations for the new feature in multiple languages. * fix: changelog |
||
|
|
a9d5cbd519 |
feat(ios): support liquid glass tabbar
Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
792134d9ae |
chore: update dependencies across multiple packages for improved stability and performance
- Upgraded various dependencies in package.json files, including @electron-forge, @sentry/react, and @better-auth. - Updated devDependencies and fixed version mismatches in internal components and utilities. - Enhanced settings sync queue to spread object properties for better payload handling. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
d4b1333617 |
refactor: migrate to client sdk (#4480)
* init Signed-off-by: Innei <tukon479@gmail.com> * refactor: migrate API calls to followClient for improved consistency - Replaced instances of apiClient with followClient in various modules, including push notifications, analytics, achievements, and wallet management. - Updated related functions to ensure compatibility with the new API structure. - This refactor enhances code maintainability and aligns with the new client architecture. Signed-off-by: Innei <tukon479@gmail.com> * refactor: update API calls to followClient for consistency - Replaced instances of apiClient with followClient across various modules, including metadata, entries, feeds, lists, and inbox management. - Adjusted related functions to align with the new API structure, enhancing maintainability and consistency throughout the codebase. These changes improve the overall architecture by standardizing API interactions. Signed-off-by: Innei <tukon479@gmail.com> * update * chore: update dependencies and improve profile settings - Bumped versions of `@better-auth/expo`, `better-auth`, and `@better-auth/stripe` to 1.3.9 for enhanced functionality. - Updated `@follow-app/client-sdk` reference in internal shared package. - Added new fields (`bio`, `website`, `socialLinks`) to the profile settings form and adjusted related types for better user data handling. - Minor adjustments in user store to accommodate new social links data structure. These changes improve the profile management experience and ensure compatibility with updated dependencies. Signed-off-by: Innei <tukon479@gmail.com> * ssr done * fix type error for action * chore: update @follow-app/client-sdk to version 0.3.58 and refactor related code - Updated the version of `@follow-app/client-sdk` to 0.3.58 in `pnpm-lock.yaml` and `pnpm-workspace.yaml`. - Refactored various components and modules to utilize the updated SDK, including changes in type imports and API calls. - Removed deprecated `api-fetch` module and replaced it with `followClient` for API interactions. - Enhanced type safety and consistency across the application by adjusting type definitions and ensuring proper data handling. These updates improve the overall code quality and maintainability while ensuring compatibility with the latest SDK features. Signed-off-by: Innei <tukon479@gmail.com> * chore: remove hono Signed-off-by: Innei <tukon479@gmail.com> * fix action type for mobile * fix(mobile): exclude all view type * fix(mobile): exclude all for views * fix(mobile): html render not work * feat(mobile): auto show source content support * fix(mobile): show source content action * feat: more stable switching timeline back to top * refactor: simplify entry actions handling and improve context menu integration - Removed the 'compact' parameter from several components to streamline the entry actions logic. - Updated the CommandActionButton usage in ActionBar for better context menu interaction. - Enhanced the ActionBar component to handle mouse position for context menu display. - Cleaned up imports and adjusted related components to reflect the changes in props and structure. These modifications aim to improve code clarity and maintainability while ensuring consistent functionality across entry actions. Signed-off-by: Innei <tukon479@gmail.com> * refactor: streamline ChatInput key handling logic - Simplified the Enter key handling in the ChatInput component by removing unnecessary conditions. - Ensured that the handleSend function is called directly when the Enter key is pressed, improving code clarity. These changes enhance the readability and maintainability of the ChatInput component. Signed-off-by: Innei <tukon479@gmail.com> * fix: breadcrumb return back prev page logic - Updated the logic in useNavigateEntry to ensure the final view is determined correctly based on the type of the view parameter. - Refactored the EntryTitle component to simplify the rendering of recent readers, improving readability and maintainability. - Adjusted the EntryHeaderBreadcrumb to pass the view parameter during navigation, enhancing functionality. These changes aim to improve code clarity and ensure consistent behavior across navigation and entry display components. Signed-off-by: Innei <tukon479@gmail.com> * refactor: enhance navigation by integrating view parameter retrieval - Updated EntryColumnShortcutHandler to utilize getRouteParams for retrieving the view parameter during navigation. - Ensured that the view parameter is passed correctly when navigating to the next entry, improving the consistency of navigation behavior. These changes aim to enhance the clarity and functionality of the entry column navigation logic. Signed-off-by: Innei <tukon479@gmail.com> * refactor: enhance modal styling and structure - Updated modal component styles for improved visual consistency, including changes to border radius, padding, and text styles. - Adjusted shadow properties in the Tailwind CSS configuration for better appearance in both light and dark themes. - Refined layout and spacing within the modal to enhance user experience. These changes aim to improve the overall aesthetics and usability of the modal component. Signed-off-by: Innei <tukon479@gmail.com> * refactor: enhance entry actions handling and toolbar integration - Updated the HIDE_ACTIONS_IN_ENTRY_CONTEXT_MENU to explicitly define its type for better type safety. - Introduced HIDE_ACTIONS_IN_ENTRY_TOOLBAR_ACTIONS to consolidate hidden actions for the toolbar. - Refactored ActionBar to utilize useSortedEntryActions for improved action filtering and rendering. These changes aim to streamline the entry actions logic and improve the maintainability of the ActionBar component. Signed-off-by: Innei <tukon479@gmail.com> * chore: remove zen and wider mode Signed-off-by: Innei <tukon479@gmail.com> * feat: enhance subscription column functionality - Introduced new components for managing subscription entries, including EntrySubscriptionItem and EntrySubscriptionList, to improve the display and interaction within the subscription column. - Added hooks for handling entry visibility and data fetching, optimizing performance and user experience. - Implemented a toolbar for toggling the visibility of the entry list, enhancing user control over the interface. - Refactored sidebar atoms to support new subscription-related states and actions. These changes aim to provide a more robust and user-friendly experience in managing subscriptions within the application. Signed-off-by: Innei <tukon479@gmail.com> * feat: integrate EntriesContext for improved subscription management - Added EntriesProvider and context to manage subscription entries more effectively across components. - Refactored EntrySubscriptionList and related components to utilize the new context for data fetching and state management. - Introduced EntrySubscriptionSkeleton for better loading states in the subscription column. - Removed the outdated useEntrySubscriptionData hook to streamline data handling. These changes enhance the overall architecture and performance of the subscription column, providing a more cohesive user experience. Signed-off-by: Innei <tukon479@gmail.com> * chore: fix lock * fix: remove duplicated feed id, improve performance * feat: back to feed first * feat: replace MediaGallery with inline media rendering in SocialMediaLayout * release(mobile): release v0.2.8 * chore(mobile): update build ID increment script and configuration - Added a force flag to the build ID increment script to allow manual increments regardless of branch or staged changes. - Updated iOS build version in Info.plist from 134 to 135. - Removed unused changelog CLI configuration file. - Modified bump.config.ts to disable tagging for mobile releases. Signed-off-by: Innei <tukon479@gmail.com> * chore: adjust AI chat sidebar and error handling styles - Added keyboard shortcut support for toggling AI chat in AISmartSidebar. - Improved styling and transition effects in CollapsibleError for better user experience. - Updated EntryReadHistory to conditionally render based on user visibility. - Refactored SourceContentView to simplify rendering logic and improve performance. - Enhanced Kbd component to support abbreviations for better accessibility. These changes aim to improve the functionality and usability of the AI chat features and related components. Signed-off-by: Innei <tukon479@gmail.com> * refactor: implement comprehensive app layout architecture - Introduced a new layout architecture for the Follow application, leveraging React Router v7's nested routing capabilities. - Added multiple layout components including MainDestopLayout, TimelineEntryTwoColumnLayout, AIEnhancedTimelineLayout, and SubviewLayout to support various application modes. - Enhanced the AI chat functionality with a dedicated AIChatLayout, allowing for dynamic panel styles based on user preferences. - Implemented responsive design features and error handling mechanisms across layouts to improve user experience. - Refactored existing components to utilize the new layout structure, ensuring a cohesive and maintainable codebase. These changes establish a robust foundation for the application's UI, enhancing flexibility and user interaction. Signed-off-by: Innei <tukon479@gmail.com> * chore: update bump configuration for PR creation - Changed the base branch for the GitHub PR creation command from 'main' to 'mobile-main' to align with the new branching strategy. - Removed the changelog generation script from package.json to streamline the build process. These updates ensure proper versioning and integration with the new mobile branch structure. Signed-off-by: Innei <tukon479@gmail.com> * feat: implement entry context menu functionality - Added a new hook, useEntryContextMenu, to manage context menu actions for entry items, including copy functionality. - Integrated the context menu into EntrySubscriptionItem and EntryItemWrapper components, enhancing user interaction with entry items. - Streamlined context menu handling by consolidating related logic into the new hook, improving code maintainability. These changes provide a more intuitive context menu experience for users interacting with entries. Signed-off-by: Innei <tukon479@gmail.com> * feat: enhance media preview functionality with drag context - Introduced a new context for managing drag state in the media preview component, allowing for improved user interaction during image dragging. - Updated the image viewer to handle click events more effectively, considering drag state and timing to prevent unintended dismissals. - Refactored the modal component to ensure the title is correctly rendered, enhancing accessibility. These changes improve the overall user experience when interacting with media previews, making the interface more intuitive and responsive. Signed-off-by: Innei <tukon479@gmail.com> * chore: update client SDK version and dependencies - Bumped the version of '@follow-app/client-sdk' from 0.3.59 to 0.3.60 in both pnpm-lock.yaml and pnpm-workspace.yaml. - Updated dependencies for '@folo-services/drizzle' from 0.1.26 to 0.1.27, and '@folo-services/shared' from 0.0.24 to 0.0.25, ensuring compatibility with the latest changes. - Adjusted Vite configuration to use 'join' instead of 'resolve' for path handling, enhancing code clarity and consistency. - Removed an unused import in VideoPlayer component to streamline the code. These updates improve dependency management and maintain code quality across the project. Signed-off-by: Innei <tukon479@gmail.com> * fix: interceptor * chore: update client SDK version to 0.3.64 - Bumped the version of '@follow-app/client-sdk' from 0.3.63 to 0.3.64 in pnpm-lock.yaml and pnpm-workspace.yaml. - Adjusted component styles in the header for improved layout consistency. - Refactored user ID handling in metadata fetching to enhance error handling and clarity. - Updated API client fetch method to use the native fetch function for better compatibility. - Added User-Agent header in SSR API headers for improved request handling. These changes ensure the application is up-to-date with the latest SDK version and improve overall code quality and user experience. Signed-off-by: Innei <tukon479@gmail.com> * chore: update client SDK path in pnpm configuration - Changed the '@follow-app/client-sdk' entry in pnpm-lock.yaml and pnpm-workspace.yaml from version 0.3.64 to a local path for development purposes. - Refactored the fetchEntryContentByStream method in store.ts to simplify its parameters and improve API call handling. These updates facilitate local development and enhance code clarity in the entry synchronization service. Signed-off-by: Innei <tukon479@gmail.com> * chore: remove hono Signed-off-by: Innei <tukon479@gmail.com> * chore: update better-auth and expo dependencies to version 1.3.11 - Updated '@better-auth/expo' and 'better-auth' to version 1.3.11 in mobile and shared packages. - Updated '@better-auth/stripe' to version 1.3.11 in shared package. - Adjusted peer dependencies for better-auth to reflect the new version. This update ensures compatibility with the latest features and fixes in the better-auth library. Signed-off-by: Innei <tukon479@gmail.com> * refactor: update auth module imports and clean up code - Changed import path for AuthPlugins from '@follow-app/client-sdk' to '@follow-app/client-sdk/auth'. - Removed commented-out socialLinks field from the baseAuthPlugins definition for clarity. - Added a new line for better code readability. These changes improve the organization and maintainability of the auth module. Signed-off-by: Innei <tukon479@gmail.com> * fix: restore socialLinks field in baseAuthPlugins definition - Reintroduced the socialLinks field in the baseAuthPlugins configuration, allowing for JSON type input. - This change enhances the flexibility of the authentication module by enabling social link integration. Signed-off-by: Innei <tukon479@gmail.com> * feat: enhance API client and entry list hooks - Added a request interceptor to the FollowClient to append a timestamp to the URL for cache-busting. - Simplified the fetch call in the entry list hooks by removing unnecessary parameters, improving code clarity. - Added a new line in the entry sync services to enhance readability. These changes improve the functionality and maintainability of the API client and entry list hooks. Signed-off-by: Innei <tukon479@gmail.com> * fix: add missing type error suppression for authClientContext - Added a TypeScript error suppression comment for the authClientContext.provide call to prevent type-checking issues. - This change ensures smoother integration of the authentication client in the application. Signed-off-by: Innei <tukon479@gmail.com> * fix lint Signed-off-by: Innei <tukon479@gmail.com> * lint Signed-off-by: Innei <tukon479@gmail.com> --------- Signed-off-by: Innei <tukon479@gmail.com> Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com> Co-authored-by: DIYgod <i@diygod.me> |
||
|
|
cde799da4e |
chore: update dependencies (#4488)
* chore: update deps * chore: remove immer patch * chore: revert @sentry/electron upgrade * chore: update deps * chore: dedupe |
||
|
|
d54708a9e6 |
feat: enhance general settings with compact timeline option
- Added a new setting to show timeline items in the subscription column while reading, improving user experience for content navigation. - Updated localization files to include descriptions and labels for the new setting in English, Japanese, Chinese (Simplified and Traditional). - Refactored the settings structure to utilize a new hook for enhanced settings management, streamlining the codebase. These changes provide users with more control over their reading layout, enhancing the overall functionality of the application. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
2902fce5f9 | feat: add support for dedicated AI panel width in all feed view | ||
|
|
b07e2de01e |
fix: entry meta no title in breadcrumb and catch not found error
- Introduced a new higher-order component, withAppErrorBoundary, to wrap components with error boundary functionality. - Created EntryNotFoundErrorFallback component to display a user-friendly message when an entry is not found. - Updated error handling in EntryContent to utilize the new EntryNotFound error type. - Added EntryContentFallback component to manage entry prefetching and loading states, enhancing user experience during data retrieval. These changes improve error management and user feedback for entry-related issues. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
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> |
||
|
|
87822de78b |
feat: implement AI task management (#4362)
* feat(ai-task): implement AI task management components and queries Add AITaskModal for creating and editing AI tasks, ScheduleConfig for scheduling options, and AITaskList for displaying tasks. Introduce query hooks for task management and define types for scheduling. * feat: add TaskSchedulingSection for managing AI tasks * chore: implement task creation limit and error handling in AIChatContextBar * fix: lint * refactor: simplify default form data handling and improve readability * feat(ai-task): add AITaskModalHeader component for improved task title management * refactor: streamline task scheduling UI * refactor(ai-chat): update modal title and close capability for task scheduling * feat(input): add TimeSelect component for custom time picking * feat: integrate TimeSelect component for improved time selection * feat: add DateTimePicker component for enhanced date and time selection Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-task): implement TaskItem component for displaying individual AI tasks with status and actions Signed-off-by: Innei <tukon479@gmail.com> * feat: update client-sdk version and implement reusable ItemActions component for AI task and MCP service management - Updated '@follow-app/client-sdk' to version 0.3.46 in pnpm-lock.yaml and pnpm-workspace.yaml. - Introduced a new ItemActions component for handling action buttons and toggle switches in AI task and MCP service items. - Refactored TaskItem, MCPServiceItem, and ShortcutItem components to utilize the new ItemActions component for improved code reuse and maintainability. - Enhanced TokenUsageSection to display reset date in a more user-friendly format. - Updated MCPService interface to include an 'enabled' property for better state management. Signed-off-by: Innei <tukon479@gmail.com> * refactor(ai-settings): remove unused export for MCPServicesSection Signed-off-by: Innei <tukon479@gmail.com> * fix: update task status logic to reflect correct scheduling states * chore: update button styling for schedule action in AIChatContextBar * feat: enhance task modal with internationalization support Added translation keys for task-related actions and messages in English, Japanese, and Chinese. Updated the AITaskModal component to utilize these translations for improved user experience. --------- Signed-off-by: Innei <tukon479@gmail.com> Co-authored-by: Innei <tukon479@gmail.com> |
||
|
|
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> |
||
|
|
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> |
||
|
|
846d25d4da | chore(deps): update ai and folo dependencies (#4308) | ||
|
|
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> |
||
|
|
6de58e038e |
fix: update FeedItem icon and enhance color constants
- Changed the icon in FeedItem component to a more appropriate representation. - Updated color constants for various themes to improve contrast and visual appeal, ensuring better accessibility and aesthetics. This update enhances the user interface by refining iconography and color usage across the application. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
44fe72bd92 |
feat(integration): add URL scheme support and enhance custom integration management
- Introduced URL scheme handling in the integration module, allowing users to define and execute URL schemes. - Added validation for URL scheme templates to ensure correct format and required fields. - Enhanced the CustomIntegrationManager to support both HTTP and URL scheme integrations. - Implemented a preview feature for URL schemes in the CustomIntegrationModal. - Updated UI components to accommodate new integration types and improve user experience. This update expands the capabilities of custom integrations, enabling seamless interaction with external applications through URL schemes. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
5d0ae8fd1c | fix(desktop): move hydrate database to first, drop dataPersist option | ||
|
|
8802303cf2 |
feat(integration): support electron side to send request
Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
0089027586 |
feat: add custom integration configurations to adapt to more apps, resolves FOL-2287
Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
01ed1c63b5 |
refactor: Progressive migration Client SDK (#4227)
* Implement code changes to enhance functionality and improve performance Signed-off-by: Innei <tukon479@gmail.com> * chore: update @follow-app/client-sdk to version 0.2.6 and add new dependencies refactor: adjust types in server configs and features to use ExtractResponseData feat: implement followApi for server configurations and API client context Signed-off-by: Innei <tukon479@gmail.com> * feat: move to client-sdk Signed-off-by: Innei <tukon479@gmail.com> * feat: update @follow-app/client-sdk to version 0.3.22 and add ShrinkingFocusBorder component - Updated the version of @follow-app/client-sdk in pnpm-workspace.yaml from 0.3.15 to 0.3.22. - Introduced a new ShrinkingFocusBorder component that animates a focus border effect using a canvas element. - Implemented resize observer for persistent border and animation logic for visibility changes. Signed-off-by: Innei <tukon479@gmail.com> --------- Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
0e456d5b73 |
feat: ai column (#4203)
* feat: remove the entry content column * feat: remove entryColWidth * feat: entry list styles * feat: ai column * feat: implement EntryColumnLayout and integrate routing for entry content - Added EntryColumnLayout component to manage entry display and interactions. - Integrated Outlet for nested routing within the CenterColumnLayout. - Updated EntryItemWrapper to navigate to entry content instead of using a modal. - Enhanced EntryContent with scroll handling and exit functionality. - Introduced new SVG icon for scroll hint in entry content. * fix: date item bg * refactor: simplify line clamping and layout adjustments in ListItem component - Removed the settingWideMode dependency for line clamping calculations, standardizing title and description clamping values. - Adjusted media width and audio cover width calculations for consistent layout. - Updated class names and styles for improved readability and maintainability. * feat: enhance feature management and layout adjustments - Introduced a new `withFeature` higher-order component to manage feature toggling for the ListItem component. - Updated the ListItem component to conditionally render based on the AI feature flag. - Adjusted layout settings for entry columns, including entryColWidth and improved responsiveness. - Added new templates for list items to support different display modes. - Updated the CenterColumnLayout to integrate with the new feature management system. * feat: implement feature flag management for AI functionality - Introduced `useFeature` hook to manage feature toggling based on server configurations. - Updated components to utilize the new `useFeature` hook for AI-related features, enhancing modularity and maintainability. - Refactored `EntryLayoutContent`, `EntryItemWrapper`, and other components to check AI feature status through the new hook. - Added a legacy list item template to support fallback rendering when AI features are disabled. * refactor: comment out unused setTimeout in EntryItemWrapper - Commented out the setTimeout function that dispatches an event to focus on the entry render, marking it as a TODO for future implementation. - This change improves code clarity and prepares for potential feature adjustments. * feat: debug feature |
||
|
|
f6a64af4eb |
feat: ai features (#4040)
* feat: ai panel * feat: ai settings * feat: ai entrances * feat: shortcuts setting * refactor: rename ai dialogue * feat: merge dialogue input and shortcuts * feat: textarea autoheight * feat: ai dialogue input auto shrink * feat: ai dialogue * feat: ai icon * feat: split text * feat: mockDialogues * feat: scrollable shortcuts * fix * feat: use vercel ai * feat: rename * feat: ai tool * refactor: update font settings and layout adjustments - Changed default font from "SN Pro" to "system-ui" in multiple components for consistency. - Updated layout styles by removing unnecessary class names to streamline the design. - Added a new translation key for "Follow System" to enhance localization support. Signed-off-by: Innei <tukon479@gmail.com> * refactor: reorganize dependencies and remove unused components - Moved several dependencies from the main package.json to the layer renderer's package.json for better modularity. - Removed the SplitText component and its associated files to streamline the codebase. - Added new utility animations in the Tailwind CSS configuration for enhanced UI effects. Signed-off-by: Innei <tukon479@gmail.com> * feat: implement AI chat components and context management - Added AIChatInput, AIChatPanel, AIChatRoot, AIMessageList, and AIChatShortcuts components to facilitate user interaction with AI chat functionality. - Introduced AIChatContext for managing chat state and interactions. - Updated entry content to integrate the new AI chat components, enhancing user experience with chat features. - Removed the legacy panel.tsx file to streamline the codebase. Signed-off-by: Innei <tukon479@gmail.com> * feat: add AIChat hotkey scope and integrate Focusable component - Introduced a new hotkey scope for AIChat in the constants file to support keyboard interactions. - Wrapped the AIChatContext in a Focusable component within AIChatRoot to enhance accessibility and focus management. Signed-off-by: Innei <tukon479@gmail.com> * refactor: update AIChatInput and AIChatPanel components - Replaced the Button component with a span in AIChatInput for improved styling consistency. - Removed commented-out code in AIChatPanel to clean up the component structure. - Adjusted layout in AIChatPanel for better organization of chat input and help sections. Signed-off-by: Innei <tukon479@gmail.com> * refactor: remove deprecated useGlobalFocusableScope hook and update TextArea styles - Removed the deprecated `useGlobalFocusableScope` hook in favor of `useGlobalFocusableScopeSelector` for improved performance. - Updated TextArea component styles to enhance visual consistency with new class names. Signed-off-by: Innei <tukon479@gmail.com> * feat: add SettingTextArea component and integrate into AI settings - Introduced a new SettingTextArea component for improved text input handling. - Updated the AI settings tab to utilize SettingTextArea for personalized prompts, enhancing user experience. - Refactored existing SettingInput usage for better layout and consistency. Signed-off-by: Innei <tukon479@gmail.com> * fix: import path * feat: optimzie ai displayFeeds * feat: enhance AIChatPanel with tooltips and improved suggestion display - Added tooltips for the "New Chat", "History", and "Personalize" buttons for better user guidance. - Updated suggestion display logic to show a limited number of suggestions initially, with an option to expand for more. - Changed icons in suggestions to use a consistent format and improved styling for better visual appeal. Signed-off-by: Innei <tukon479@gmail.com> * feat: integrate AIPanelRefsContext for improved reference management - Introduced AIPanelRefsContext to manage references for the chat input and panel components. - Updated AIChatInput to utilize the new context for textarea reference. - Modified AIChatPanel to use the panel reference from the context. - Enhanced AIChatRoot to provide the context with memoized references for better performance. Signed-off-by: Innei <tukon479@gmail.com> * feat: add EntryContentAccessories component for enhanced entry features - Introduced EntryContentAccessories to encapsulate the ContainerToc and EntryAIChatInput components. - Updated EntryContent to utilize EntryContentAccessories for improved layout and functionality. - Added new ContainerToc and AIChatInput components to support table of contents and AI chat features. Signed-off-by: Innei <tukon479@gmail.com> * refactor: update imports for useSettingModal and clean up unused components - Changed import path for useSettingModal to use a new hack version. - Removed the unused ContainerToc component. - Updated EntryContent to include AISmartSidebar. - Commented out the EntryAIChatInput in EntryContentAccessories. - Minor adjustments in use-register-hotkey for better readability. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): implement AI chat components including message input, display, and demo functionality - Added AIChatContainer for managing chat messages and displaying a welcome screen. - Introduced AIChatInput for user message input with auto-resizing functionality. - Created AIChatMessage for rendering individual chat messages with formatting support. - Integrated AIChatDemo to showcase the chat functionality within the AIChatSidePanel. - Added a new SVG icon for the send button. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): enhance chat functionality with auto-scroll and message formatting - Integrated auto-scroll feature in AIChatContainer to improve user experience during message updates. - Added AIChatTypingIndicator to display typing status in chat. - Updated AIChatMessage to support markdown parsing for better message formatting. - Enhanced AIChatInput to manage empty state and disable send button accordingly. - Refactored AIChat component structure for clarity and improved functionality. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): add sending message animation and enhance chat input - Introduced SendingMessageOverlay component for animated feedback when sending messages. - Updated AIChatInput to trigger sending animation and manage input state. - Enhanced AIChatMessage with animation effects for message display. - Improved auto-scroll logic to handle programmatic scrolling more effectively. - Added new SVG icons for chat functionalities. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): improve chat input and message handling with enhanced animations - Updated AIChatContainer to refine sending message animations and manage input states. - Enhanced AIChatInput to include a stop button for ongoing processing and improved message sending logic. - Refactored AIChatMessage to maintain animation consistency during message display. - Improved comments for clarity and code maintainability. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): enhance AI chat context management and input handling - Introduced AIChatContextInfo for managing context information in AI chat. - Updated AIChatInput to utilize context for default selection and improved user experience. - Refactored AIChatRoot to manage context state and provide context information to child components. - Enhanced AIChatContainer with a welcome message and improved message handling logic. - Added EntryAIContext for managing entry-specific AI context, improving integration with chat functionalities. Signed-off-by: Innei <tukon479@gmail.com> * chore: hono update - Introduced optional context properties in the AI chat message structure to support entryId and selectedText. - Enhanced flexibility for managing chat context and improving user interactions. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): enhance AI chat components with optional wrapping and improved styling - Added `wrapFocusable` prop to `AIChatRoot` for conditional wrapping of focusable elements. - Updated `AIChatMessage` to display a placeholder when the assistant is "thinking" and improved styling for message bubbles. - Refined `AIChatContainer` layout with adjusted border styles for better visual separation. - Enhanced `AIChatSidePanel` structure for improved component organization and functionality. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): implement AI chat context store and enhance input handling - Introduced a new context store for managing AI chat state, allowing for better organization of context information. - Refactored AIChatInput and AIChatRoot components to utilize the new context store, improving state management and performance. - Added AIChatContextBar for displaying context blocks and managing references within the chat. - Enhanced input handling with improved styling and functionality, including dynamic resizing and context-aware features. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): refactor message parts handling in AIChatMessage component - Replaced the existing MessageParts component with a new AIMessageParts component to improve code organization and readability. - Enhanced the rendering logic for message parts, including better handling of tool invocations and markdown parsing. - Introduced a more structured approach to displaying message content, including support for code highlighting. Signed-off-by: Innei <tukon479@gmail.com> * feat(diagrams): integrate Mermaid for diagram rendering in AI chat - Added Mermaid as a dependency to support diagram rendering within the AI chat interface. - Implemented the MermaidDiagram component for rendering Mermaid diagrams based on provided code. - Enhanced AIMarkdownMessage to parse and render Mermaid diagrams alongside other markdown content. - Refactored AIChatContainer and AIChatInput components to improve structure and maintainability. - Introduced AIPanelHeader for better management of the AI chat panel. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): enhance AI message rendering and introduce ToolInvocationComponent - Updated AIMarkdownMessage to accept an optional className prop for better styling flexibility. - Refactored AIMessageParts to utilize the new ToolInvocationComponent for rendering tool invocation details, improving code organization and readability. - Adjusted AIChatMessage styles for user messages to enhance visual distinction. - Removed unused state management for tool expansion, simplifying the component logic. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): integrate AIChatRoot and enhance auto-scroll functionality - Wrapped the main content in AIChatRoot for improved focus management. - Added auto-scroll behavior to the AIChatContainer for better user experience when new messages are loaded. - Refactored AIChatPanelContainer and AIChatSidePanel to streamline layout and improve code organization. - Updated styles and structure for better visual consistency and maintainability. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): update AI SDK dependencies and enhance AI chat functionality - Upgraded dependencies for '@ai-sdk/openai', '@ai-sdk/react', and 'ai' to their latest beta versions for improved features and performance. - Introduced new utility functions for managing AI chat state, including getAIChatPinned. - Refactored AIChat components to utilize the updated SDK, enhancing message handling and tool invocation rendering. - Added global commands for toggling AI chat visibility and pinning, improving user interaction. Signed-off-by: Innei <tukon479@gmail.com> * feat(layout): implement resizable panel functionality and improve layout components - Added PanelSplitter component for dynamic resizing of the AI chat panel. - Integrated useResizable hook to manage panel dimensions in RightContent and SubscriptionColumn. - Refactored AIChatPanelContainer to accept an optional className prop for better styling. - Cleaned up unused refs and improved code organization in SubscriptionColumn. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): update AI chat components and integrate new AI SDK features - Refactored AIChatInput and AIChatMessage components to utilize the new AISpline icon for improved visual consistency. - Enhanced AIChatRoot to accept a roomId prop for better context management. - Updated message handling in AIChatMessage to include metadata for improved message tracking. - Introduced AIChatBottom component for better organization of chat input and context display. - Integrated new AI SDK features for enhanced chat functionality and user experience. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): integrate node polyfills and enhance chat functionality - Added vite-plugin-node-polyfills to support Node.js core modules in the chat application. - Updated AIChatRoot to utilize the new roomId prop for better context management. - Refactored message handling in AIChat components to improve user experience and maintainability. - Introduced new hooks for loading and saving messages, enhancing chat state management. - Updated database schema for ai_chat_messages to ensure message integrity and support new features. Signed-off-by: Innei <tukon479@gmail.com> * chore: update pnpm-lock and package.json to include @splinetool/react-spline and related dependencies - Added @splinetool/react-spline version 4.0.0 to package.json. - Updated pnpm-lock.yaml to reflect the addition of @splinetool/react-spline and its peer dependencies, including @splinetool/runtime and react-related packages. - Included new dependency on on-change version 4.0.2 and updated other related packages. This update enhances compatibility with the latest spline tool features. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai): implement AI chat components and layout - Added AIChatContextBar for managing chat context and entries. - Introduced AIChatMessage and AIMessageParts for rendering chat messages. - Created ToolInvocationComponent to display tool invocation details. - Implemented auto-scrolling functionality with useAutoScroll hook. - Developed AIChatLayout to structure the chat interface, including a welcome screen and message input. - Integrated chat components into the entry content layout. This update enhances the AI chat experience with a structured layout and improved message handling. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai): enhance AI chat functionality and localization - Added new AI namespace to constants for improved organization. - Integrated AI localization by importing AI English resources and updating default resources. - Enhanced AIChatLayout with translation support for chat-related prompts and messages. - Updated AIPanelHeader to utilize translations for chat clearing confirmation. - Introduced welcome message localization in the AI chat interface. This update improves the AI chat experience with better localization and user interaction features. Signed-off-by: Innei <tukon479@gmail.com> * feat(ai): enhance AI settings with personalized prompts and shortcuts management - Introduced PersonalizePromptSetting for customizing AI prompts with save functionality. - Added AIShortcutsSection for managing AI shortcuts, including add, update, delete, and toggle features. - Improved localization by updating translation keys for AI settings. - Refactored components for better organization and clarity. This update enhances user interaction with AI settings, allowing for personalized experiences and efficient shortcut management. Signed-off-by: Innei <tukon479@gmail.com> * feat(shortcuts): implement keyboard shortcut management and localization - Added KeyRecorder component for recording keyboard shortcuts. - Introduced ShortcutSetting for managing custom AI shortcuts, including add, update, and delete functionalities. - Enhanced AI settings with new localization keys for shortcuts. - Refactored existing components for improved organization and clarity. This update streamlines the process of creating and managing keyboard shortcuts, enhancing user experience in AI settings. Signed-off-by: Innei <tukon479@gmail.com> * feat: update ai robot model * feat(ai): introduce new analytics and display components - Added components for displaying analytics, entries, feeds, and subscriptions. - Implemented loading and error states for better user feedback. - Refactored existing components to integrate new display functionalities. - Introduced common state components for loading and error handling. This update enhances the AI chat experience by providing detailed analytics and improved data presentation. Signed-off-by: Innei <tukon479@gmail.com> * refactor(ai): consolidate shared components for analytics displays - Moved StatCard, ChartPlaceholder, and other common components to a shared module for reuse across analytics displays. - Updated AIDisplayAnalyticsPart, AIDisplayEntriesPart, AIDisplayFeedsPart, and AIDisplaySubscriptionsPart to utilize the new shared components. - Enhanced the layout and error handling for empty states in various display components. This refactor improves code maintainability and consistency in the analytics display components. Signed-off-by: Innei <tukon479@gmail.com> * feat(ui): introduce GlassButton component and refactor modal actions - Added a new GlassButton component with customizable styles and animations for enhanced UI consistency. - Replaced existing button implementations in modal components with the new GlassButton for improved visual coherence. - Updated PreviewMediaContent and other components to utilize GlassButton, enhancing user interaction and aesthetics. This update streamlines button usage across the application and enhances the overall user experience. Signed-off-by: Innei <tukon479@gmail.com> * refactor(ai): enhance auto-scroll functionality in chat component - Updated the useAutoScroll hook to improve user interaction handling and scrolling behavior. - Introduced a debounce mechanism for resize observer to optimize performance. - Modified the AIChatLayout to ensure proper scrolling to the bottom when new messages are loaded. - Improved state management for user interactions and auto-scrolling logic. These changes enhance the chat experience by ensuring smoother scrolling and better responsiveness to user actions. Signed-off-by: Innei <tukon479@gmail.com> * feat: add class-variance-authority for GlassButton variants - Updated pnpm-lock.yaml to include class-variance-authority version 0.7.1. - Modified GlassButton component to utilize class-variance-authority for managing size and color scheme variants. - Updated PreviewMediaContent and other components to use the new variant prop for GlassButton. - Removed the deprecated AIChatInput component and related references. - Fixed import path for PanelSplitter in entry content layout. Signed-off-by: Innei <tukon479@gmail.com> * feat: enhance AI chat functionality and UI components - Introduced AIChatSendButton component for improved send button functionality in AI chat. - Updated AIChatMessage and AIPanelHeader to use new icon styles. - Integrated AIChatSendButton into AIChatInput and AIChatLayout for consistent UI. - Added toggleAIChatPinned command and updated related commands for better AI chat management. - Refactored entry context menu to hide specific actions related to AI chat. - Fixed import paths and updated localization for AI chat commands. Signed-off-by: Innei <tukon479@gmail.com> * refactor: update layout components and improve conditional rendering - Refactored RightContent component to enhance conditional rendering logic for Grid and AIChatLayout based on realEntryId and isWideView. - Updated EntryHeader component styles to use new text color classes for better consistency. - Adjusted imports in hono.ts to reflect updated package versions for zod and drizzle-orm. Signed-off-by: Innei <tukon479@gmail.com> * feat: enhance AI chat features and session management - Updated AI chat components to support new session management features, including room switching and title generation. - Introduced session state management using Jotai for better handling of current room ID and title. - Added hooks for managing chat history and session persistence. - Implemented export functionality for chat sessions to Markdown format. - Enhanced UI with new components for chat input and welcome screen. - Updated localization for new chat features and actions. Signed-off-by: Innei <tukon479@gmail.com> * refactor: update AI chat components and improve styling - Enhanced AIChatMessage with additional styling for better layout. - Introduced MarkdownLink in AIMarkdownMessage for improved link rendering. - Removed unused "step-start" case in AIMessageParts for cleaner code. - Simplified ToolInvocationComponent by removing unnecessary div. - Refactored useSettingModal to avoid circular dependency and improve clarity. Signed-off-by: Innei <tukon479@gmail.com> * feat: implement chat title generation and error handling in AI chat components - Added title generation functionality in AIChatRoot, triggered by the first AI response. - Updated ChatInput to display error messages with a new UI component. - Refactored title generation logic to utilize the first user and AI messages. - Removed unused props and streamlined session management in ChatInterface. - Enhanced error handling in chat components for improved user experience. Signed-off-by: Innei <tukon479@gmail.com> * refactor: improve ChatHeader and ChatInterface components - Adjusted ChatHeader height and updated mask image styling for better visual consistency. - Enhanced ChatInterface with scroll detection and a "Scroll to Bottom" button for improved user experience. - Introduced state management for scroll position to optimize chat interaction. - Cleaned up event listeners and added necessary imports for new functionality. Signed-off-by: Innei <tukon479@gmail.com> * refactor: update layout styling in AI chat components - Modified div elements in ToolInvocationComponent, AIDisplayEntriesPart, AIDisplayFeedsPart, and AIDisplaySubscriptionsPart to include max-width for improved responsiveness. - Added a blank line in ChatInterface for better code readability. Signed-off-by: Innei <tukon479@gmail.com> * refactor: enhance AI settings and chat components - Updated AI settings management by introducing aiServerSyncWhiteListKeys and integrating AISettings into the sync queue. - Improved the PersonalizePromptSetting component with character limit validation and dynamic feedback for user input. - Removed error toast in AIChatRoot for cleaner error handling. - Added new suggestion to the WelcomeScreen for enhanced user experience. Signed-off-by: Innei <tukon479@gmail.com> * refactor: enhance ChatInput component functionality - Integrated useInputComposition hook for improved key handling in ChatInput. - Updated key event handling logic to ensure proper focus management based on user input. - Streamlined textarea props by spreading inputProps for cleaner code. Signed-off-by: Innei <tukon479@gmail.com> * refactor: update layout styling in AI display components - Removed max-width from div elements in AIDisplayEntriesPart, AIDisplayFeedsPart, and AIDisplaySubscriptionsPart for improved responsiveness. - Ensured consistent styling across AI display components. Signed-off-by: Innei <tukon479@gmail.com> * refactor: remove AIChatShortcuts component and enhance shortcut handling - Deleted the AIChatShortcuts component to streamline the codebase. - Integrated shortcut handling directly into the ChatInput and WelcomeScreen components for improved user experience. - Added functionality to process custom shortcuts and display them dynamically in the WelcomeScreen. Signed-off-by: Innei <tukon479@gmail.com> * refactor: implement CollapsibleError component for improved error display - Introduced a new CollapsibleError component to enhance error handling in the ChatInput. - Simplified error display logic by replacing inline error handling with the new component. - Updated common-states to maintain consistent error presentation across the application. Signed-off-by: Innei <tukon479@gmail.com> * refactor: re-organize AI components - Added AIChatContextBar, AIChatRoot, AIChatSendButton, and ToolInvocationComponent to improve chat interface. - Implemented displays for analytics, entries, feeds, and subscriptions, enhancing data presentation in chat. - Refactored ChatInput to integrate new components and streamline user interactions. - Enhanced message handling with AIChatMessage and AIMarkdownMessage for better content rendering. Signed-off-by: Innei <tukon479@gmail.com> * refactor: enhance dropdown menu layout and shortcut display - Updated DropdownMenuItem to improve spacing for shortcut display. - Adjusted AIChatContextBar to align dropdown menu content and ensure consistent presentation of shortcuts. - Removed redundant shortcut display logic for cleaner code. Signed-off-by: Innei <tukon479@gmail.com> * refactor: remove unused AI components and update imports - Deleted AISpline and mockShortcuts components to streamline the codebase. - Updated import paths for AISpline in WelcomeScreen and AIChatContainer to reflect the new structure. Signed-off-by: Innei <tukon479@gmail.com> * refactor: remove AI spline asset and update loader URL - Deleted the ai.splinecode asset file to streamline the project. - Updated AISplineLoader to use a direct URL for the AI spline asset, improving loading efficiency. Signed-off-by: Innei <tukon479@gmail.com> * refactor: enhance WelcomeScreen with settings modal integration - Added a button to edit the personal prompt in the WelcomeScreen, linking to the settings modal. - Improved layout for the personal prompt display by organizing elements within a flex container. Signed-off-by: Innei <tukon479@gmail.com> * refactor: streamline session state management and enhance UI components - Refactored session state management by creating reusable atom hooks for current room ID, title, and session persistence. - Updated AIChatRoot and related components to utilize the new hooks for improved state handling. - Enhanced ChatHeader to animate the display of the current title. - Adjusted ChatInterface to ensure proper state usage and maintain clean code structure. - Modified RightContent to remove unnecessary props for better clarity. Signed-off-by: Innei <tukon479@gmail.com> * refactor: implement message editing functionality in chat interface - Added EditableMessage component to allow users to edit their messages. - Integrated editing state management into AIChatMessage for seamless user experience. - Updated ChatInterface to handle error states and improve message display logic. - Enhanced user interaction with action buttons for editing, retrying, and copying messages. Signed-off-by: Innei <tukon479@gmail.com> * refactor: optimize AI chat components with memoization - Wrapped AIChatContextBar, ChatInput, and AIMessageParts components with memo for performance improvements. - Updated imports to include memo and adjusted component definitions accordingly. - Enhanced dropdown menu layout in ChatMoreDropdown for better usability and responsiveness. Signed-off-by: Innei <tukon479@gmail.com> * refactor: update MermaidDiagram and ChatInput components - Removed loading icon from MermaidDiagram to simplify the rendering process. - Added context menu propagation prevention in ChatInput to enhance user interaction and prevent unwanted actions. Signed-off-by: Innei <tukon479@gmail.com> * refactor: update GlassButton component and related usages - Renamed 'variant' prop to 'theme' for clarity and introduced a new 'variant' prop for visual styles (glass and flat). - Updated styles and default values in the GlassButton component to reflect the new structure. - Adjusted usages of GlassButton across various components to align with the new prop names and styles. - Modified ChatInput component to enhance shadow styles for the minimal variant. Signed-off-by: Innei <tukon479@gmail.com> * refactor: enhance ToolInvocationComponent and WelcomeScreen - Updated ToolInvocationComponent to include a max-width style for better layout control. - Introduced a DEFAULT_SHORTCUTS array in WelcomeScreen to streamline the management of default suggestions. - Refactored the rendering logic in WelcomeScreen to utilize the new DEFAULT_SHORTCUTS array for displaying suggestions. Signed-off-by: Innei <tukon479@gmail.com> * feat: implement thinking indicator in AIMessageParts component - Replaced the static "AI is thinking..." message with a dynamic ThinkingIndicator component that animates the text display. - Integrated motion effects using the 'motion/react' library for a smoother user experience. - Updated the ChatInterface to utilize the new ThinkingIndicator for better visual feedback during AI processing. Signed-off-by: Innei <tukon479@gmail.com> * feat: add RelatedEntryLink component for enhanced link handling in AIMarkdownMessage - Introduced RelatedEntryLink to handle business ID links with a modal preview. - Updated link rendering logic in AIMarkdownMessage to utilize RelatedEntryLink for improved user interaction. - Enhanced markdown link handling by integrating peek modal functionality for business IDs. Signed-off-by: Innei <tukon479@gmail.com> * feat: update GlassButton styles and introduce EntryLayoutContent component - Enhanced GlassButton component styles for light, dark, and auto themes, improving visual consistency. - Added new EntryLayoutContent component to manage entry content display, integrating AI chat and entry content seamlessly. - Updated EntryContentPlaceholder to utilize the new flat variant of GlassButton for better UI consistency. - Refactored index export to use EntryLayoutContent as RightContentLayout. Signed-off-by: Innei <tukon479@gmail.com> * feat: integrate AI chat functionality and enhance toolbar interactions - Added AI chat feature toggle in useEntryActions, controlling visibility based on server configurations. - Updated the customize toolbar to include a warning for the AI chat pinned action. - Wrapped AISmartSidebar in a React.Suspense component for improved loading behavior. - Implemented error handling in AISmartSidebar to manage AI feature availability. - Added localization for the AI chat pinned warning message. Signed-off-by: Innei <tukon479@gmail.com> * fix: update useEntryActions to streamline entry properties - Added entry?.imagesLength and entry?.hasContent to the dependencies of useEntryActions for improved data handling. - Removed entry?.hasContent from the previous dependencies to avoid redundancy. - Adjusted the order of entry properties for better clarity and organization. Signed-off-by: Innei <tukon479@gmail.com> * ci: update Claude workflow to enhance PR assistance functionality - Renamed workflow from "Claude Code Review" to "Claude PR Assistant" - Updated event triggers to include issue comments, pull request review comments, and issues - Simplified job conditions for running the Claude action - Changed step name to "Run Claude PR Action" and adjusted parameters for improved integration Signed-off-by: Innei <tukon479@gmail.com> * refactor(shortcuts): remove unused shortcut settings component - Deleted the `ShortcutSetting` component and its associated logic, including custom shortcut handling and reset functionality. - Cleaned up related components and interfaces to streamline the shortcuts management code. This change simplifies the shortcuts management by removing unnecessary complexity and unused code. Signed-off-by: Innei <tukon479@gmail.com> * Implement code changes to enhance functionality and improve performance Signed-off-by: Innei <tukon479@gmail.com> * fix: types --------- Signed-off-by: Innei <tukon479@gmail.com> Co-authored-by: DIYgod <i@diygod.me> |
||
|
|
341fd63bf5 |
fix(desktop): microsoft store build check
- Introduce MICROSOFT_STORE_BUILD constant to determine if the app is running from the Microsoft Store - Update appUpdaterConfig to conditionally enable core updates based on the new constant - Modify header creation logic to use MICROSOFT_STORE_BUILD for Windows platform detection This change enhances the application's compatibility with Microsoft Store by ensuring proper update handling and header configuration. |
||
|
|
8e73438758 | feat: BitTorrent attachment and qBittorrent integration (#4173) | ||
|
|
093e47cb0a | feat: add fetch cache no-store and header cache-control no-store | ||
|
|
6bf6d3f9ab |
chore: add nanoid package and update api-fetch to use no-store cache
Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
2733be5402 | feat(desktop): refresh session after stripe payment | ||
|
|
30bb37c7b9 |
feat: referral (#3761)
Co-authored-by: DIYgod <i@diygod.me> Co-authored-by: Innei <tukon479@gmail.com> |
||
|
|
d01209e389 |
feat(settings): enhance accent color handling for dark mode
- Updated accent color logic to support dark mode by utilizing a new color mapping. - Refactored components to apply the correct accent color based on the current theme. - Improved styling consistency across the application by integrating dark and light color variants. This change enhances the user experience by ensuring that the accent colors adapt to the selected theme. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
dc6bf7cb09 |
chore: update dependencies across multiple packages
- Bump various dependencies in package.json files, including updates to eslint, prettier, vite, and react-related packages. - Update devDependencies such as es-toolkit, nbump, and others to their latest versions. - Ensure consistency in @types/node and other related packages across the project. This update enhances compatibility and performance across the application. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
0456eb3297 | fix: lint | ||
|
|
a17db88b60 | feat: use insertedBefore for mark above read | ||
|
|
47129d5d0d |
feat(settings): add accent color customization and update UI components
- Introduced accent color setting to allow users to customize the app's interface. - Updated various components to utilize the new accent color, including buttons, sliders, and text elements. - Added translations for accent color settings in English, Japanese, and Chinese. - Refactored related styles in Tailwind CSS configuration to support the new accent color feature. Signed-off-by: Innei <tukon479@gmail.com> |
||
|
|
b373232888 | feat(desktop): real user deletion | ||
|
|
d14c8f5c51 | feat: new domain folo.is |