Commit Graph

873 Commits

Author SHA1 Message Date
DIYgod 53ec8ec512 feat: update AI feature integration and adjust layout styles 2025-10-23 15:51:16 +08:00
DIYgod 2d5c94587b feat: server shorcuts 2025-10-23 11:31:35 +08:00
Innei 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>
2025-10-23 01:31:50 +08:00
Innei 05981958a8 perf(trans): batch transition fetch
- Bump version of `@follow-app/client-sdk` to 0.3.69 in `pnpm-lock.yaml` and `pnpm-workspace.yaml`.
- Update `@folo-services/ai-tools` version to 0.2.44 in `apps/desktop/layer/renderer/package.json`.
- Modify Vite configuration to exclude `@follow-app/client-sdk` from optimization.
- Refactor translation hooks to use `enabled` instead of `setting` for clarity.
- Introduce a new utility function `readNdjsonStream` for handling NDJSON streams in the store module.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-23 01:30:12 +08:00
Innei 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>
2025-10-22 22:57:32 +08:00
Innei 015f4ea10a fix(editor): is input empty state
- Modified the isEmpty method in both ChatInput and LexicalRichEditor components to check if the editor's content is empty by verifying if the trimmed text content is an empty string.
- Added an accessories prop to LexicalRichEditor for improved flexibility in rendering additional UI elements.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-22 21:51:06 +08:00
Innei 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>
2025-10-22 21:35:38 +08:00
DIYgod f40170e9ac fix: electron dev 2025-10-22 15:10:08 +08:00
Innei 8ab91cd157 feat(ai): redesign command pill style
- Updated Shortcut components to include icon rendering and a command prefix for better user experience.
- Modified shortcut trigger patterns to use '/' instead of '#' for consistency across the application.
- Added new icon selection feature in ShortcutModalContent for improved customization.
- Updated localization files to include new icon-related strings.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-21 21:40:56 +08:00
DIYgod 79b0dab3b4 feat: add last used login method tracking in LoginModalContent 2025-10-21 20:01:10 +08:00
DIYgod 7507270b39 chore: update dependencies 2025-10-21 16:33:03 +08:00
Innei b9fe2903fa fix(TextAreaWrapper): import React to resolve JSX issues
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-21 01:29:27 +08:00
Innei 414ab5232f feat: lexical editor more functional
Added AutoLinkPlugin and TabIndentationPlugin to the LexicalRichEditor for improved user experience. Introduced ExitCodeBoundaryPlugin to manage caret behavior when exiting code contexts and TripleBacktickTogglePlugin for toggling code blocks. Updated node imports and types to support these new features, enhancing the editor's capabilities.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-20 20:48:59 +08:00
Innei 1b89ea0af0 refactor(ai-chat): simplify isEmpty state checks in ChatInput and LexicalRichEditor
Updated the ChatInput and LexicalRichEditor components to streamline the logic for determining if the editor is empty. The isEmpty state now directly utilizes the $getRoot().isEmpty() method, enhancing code clarity and maintainability. Removed unnecessary text content checks in favor of a more efficient approach.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-20 19:58:48 +08:00
Innei 97d77c4868 feat(ai-chat): enhance ChatInput and EditableMessage components with height adjustments
Updated the ChatInput and EditableMessage components to set a fixed height for the LexicalRichEditor, improving the layout consistency. Additionally, refactored the AITaskModal to manage prompt state outside of react-hook-form, allowing for better control over the prompt length and submission handling.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-20 19:49:06 +08:00
Stephen Zhou 86980e71f6 feat: update date mention and mention information (#4578) 2025-10-20 17:34:39 +08:00
Innei ef0af46e6f fix: update text autospace classes in ListItem, EntryTitle, and ArticleLayout components
- Replaced `[text-autospace:auto]` with `autospace-normal` class in ListItem, EntryTitle, and ArticleLayout components to standardize text spacing.
- Added a new utility class `autospace-normal` in tailwind.css to ensure consistent text rendering across the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-19 23:44:44 +08:00
Innei 0602e74500 refactor: replace AIShortcutButton import path and enhance gradient handling
- Updated the import path for the AIShortcutButton component to the new location.
- Introduced a more flexible gradient handling function that adapts based on the dark/light mode.
- Removed the old AIShortcutButton component file as it is no longer needed.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-18 19:39:46 +08:00
Stephen Zhou 9a8bfffb38 feat: rich editor support for prompt and task (#4574) 2025-10-17 21:56:07 +08:00
Innei 2a55f9276a chore(ui): add size prop for switch
- Updated the prompt input field with additional padding for better usability.
- Added size prop to the Switch component, allowing for small and medium sizes.
- Adjusted styles for the Switch component to accommodate the new size options, ensuring consistent appearance across different sizes.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-17 21:04:04 +08:00
DIYgod 5f4e47da07 feat: make summarize timeline shortcut undeletable 2025-10-17 20:19:18 +08:00
DIYgod 2607e2042b feat(ai): refine summarization prompt for clarity and context 2025-10-17 15:22:45 +08:00
lawvs 8c96029432 fix(ai): update default button background color for improved visibility 2025-10-17 15:14:03 +08:00
DIYgod ab257747be feat(ai): update default button styles for improved visibility 2025-10-17 14:25:11 +08:00
DIYgod 6966ec56ad feat(ai): add default shortcuts for summarization and analysis 2025-10-17 12:02:40 +08:00
DIYgod 6fa873ec25 feat(shortcuts): enhance shortcut management with contextual targeting and UI updates 2025-10-15 22:39:32 +08:00
Stephen Zhou 35cd41e3fa refactor: remove view--1 (#4548) 2025-10-15 21:51:40 +08:00
Stephen Zhou 157da4d1bd fix: do not skip summary for short content 2025-10-11 09:55:40 +08:00
Innei 99ed348352 feat(ai): talk about ai timeline summary
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-10 22:46:34 +08:00
Stephen Zhou 8c9784202c refactor: move checkLanguage to utils 2025-10-10 15:23:42 +08:00
songkeys ecb7e5c1c6 feat: new onboarding 2025-10-09 20:57:26 +08:00
Stephen Zhou 907655e1aa refactor: remove startupScreen option 2025-10-09 17:53:29 +08:00
Stephen Zhou 4595666cd5 chore: fix typecheck 2025-10-09 10:24:50 +08:00
RieN 7z 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
2025-10-07 01:20:13 +08:00
Innei 984887117b fix(layout): unify top header height
- Renamed CSS class from `h-entry-header` to `h-top-header` for clarity and consistency.
- Introduced `h-top-header-with-border-b` for enhanced layout in `EntryListHeader`.
- Updated `RelativeTime` component to accept a `postfix` prop, allowing for more flexible date formatting.
- Adjusted instances of `RelativeTime` to utilize the new `postfix` prop for improved display.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-01 00:01:19 +08:00
Innei 846d0ff947 fix(ai): message persist of created at and remove user message type of text
- Updated message sending logic to utilize a static editor instance for improved performance.
- Simplified the onSend function signature in WelcomeScreen and DefaultWelcomeContent components.
- Enhanced message part handling in the chat state and persistence services.
- Removed unused useSaveMessages hook to clean up the codebase.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-30 23:17:55 +08:00
Innei aada1b8b65 fix: observer chat message container width
- Added useElementWidth hook to observe and track the width of a referenced element using ResizeObserver.
- Updated ChatInterface and WelcomeScreen components to utilize the new hook for responsive layout adjustments.
- Enhanced AIDisplayEntriesPart and AIDisplayFeedsPart components with improved styling for better alignment and spacing.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-30 19:45:35 +08:00
Innei f1f9bc8c65 feat: add hover preview cards for entries and feeds
- Introduced EntryPreviewCard and FeedPreviewCard components for enhanced hover previews.
- Implemented prefetching of entry details and feed information on hover.
- Updated AnimatedMarkdown to utilize the new hover preview components for better user interaction.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-29 20:47:20 +08:00
Stephen Zhou 6faaf722c7 feat: action settings in entry get 2025-09-28 16:23:04 +08:00
Stephen Zhou 78816d5b4a chore: fix type 2025-09-26 16:34:17 +08:00
Stephen Zhou 13f5fcb0c9 fix: remove refer feed and date, update mention format (#4522) 2025-09-26 10:13:31 +08:00
DIYgod 54e8c87508 feat: remove tip and boost 2025-09-25 21:35:46 +08:00
Innei b3464a9b07 fix(ai-chat): enhance AIChainOfThought and ToolInvocationComponent with animations
- Integrated `AnimatePresence` and `m` from `motion/react` into the `AIChainOfThought` component to improve the display of reasoning titles with smooth transitions.
- Updated the `ToolInvocationComponent` to accept a `variant` prop, allowing for tighter spacing when necessary.
- Refined the `ShinyText` component's styles for better visual effects and consistency across components.

These changes aim to enhance the user experience by providing smoother animations and improved layout flexibility in the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-25 17:42:44 +08:00
Innei 413fb986ff refactor(ai-chat): enhance ShinyText component and integrate into AIChainOfThought and WelcomeScreen
- Updated the `ShinyText` component to support children and customizable shimmer width, improving flexibility in usage.
- Refactored styles for the `ShinyText` component to enhance the shine animation effect.
- Integrated the `ShinyText` component into the `AIChainOfThought` and `WelcomeScreen` components, ensuring consistent visual styling across the AI chat interface.

These changes aim to improve the visual appeal and maintainability of the components within the AI chat module.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-25 14:30:45 +08:00
Innei 97e2972ad7 feat(ai-chat): add custom date range picker to context menu
- Introduced a new `CustomRangePicker` component within the `ContextMenuContent` to allow users to select custom date ranges.
- Enhanced the `DateTimePicker` to support range selection mode, enabling users to pick start and end dates.
- Integrated relative date options into the context menu, improving the flexibility of date mentions in the AI chat interface.
- Updated localization to ensure new date range options are translatable.

These changes aim to enhance user experience by providing more options for date selection in the AI chat context menu.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-25 00:51:31 +08:00
Innei a2eb94528d fix(ai): auto track scrolling
- Replaced manual checks for editable elements in global shortcuts with a utility function `detectIsEditableElement` for cleaner code and better maintainability.
- Updated `AIChatRoot` to use `LexicalRichEditorRef` for the input reference, enhancing type safety and consistency in the chat input handling.
- Integrated `AIPanelRefsContext` in `ChatInput` and `ChatInterfaceContent` to streamline access to the input reference across components.
- Removed the deprecated `animatedPlugin` file to clean up unused code.

These changes aim to enhance the overall structure and functionality of the AI chat interface, improving user experience and code maintainability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-23 22:43:54 +08:00
Innei c840fa62ca feat(ai): add shiny text on ai reasoning
- Integrated `ShinyText` into `AIChainOfThought` for improved visual feedback during reasoning.
- Updated `AIMessageParts` to conditionally render reasoning parts only if text is present, enhancing logic clarity.
- Introduced `useDeferredValue` for low-priority rendering of display parts, optimizing performance.

These changes aim to improve the user experience by providing clearer visual cues and more efficient rendering in the AI chat interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-23 21:15:26 +08:00
Innei 304755aba3 fix: refactor AIChainOfThought for improved collapse functionality
- Introduced a new `AIInnerReasoningPart` component to encapsulate the rendering logic for individual reasoning parts, enhancing modularity.
- Updated `AIChainOfThought` to utilize the new component and manage collapse state more effectively using a ref.
- Simplified the extraction of headings from reasoning text, improving readability and maintainability of the code.

These changes aim to enhance the user experience by providing clearer feedback during AI reasoning processes and improving the overall structure of the components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-23 20:46:45 +08:00
Innei ba7e6ce8ce chore: create AGENTS.md for comprehensive project guidance
- Introduced AGENTS.md to provide detailed, agent-focused guidance for working within the monorepo.
- Consolidated existing CLAUDE.md content and added new sections on project overview, setup commands, quality gates, code style, architecture, UI design tokens, and testing strategies.
- Established clear guidelines for component placement, reusable UI components, and agent workflows to enhance development consistency across applications.

This addition aims to streamline onboarding and improve collaboration among team members by providing a centralized resource for best practices and project structure.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-22 23:33:37 +08:00
Innei 866abbef20 feat(sentry): integrate Sentry for error tracking and monitoring
- Added Sentry for error reporting in the mobile application.
- Updated the app configuration to initialize Sentry with the necessary DSN and settings.
- Replaced Firebase Crashlytics with Sentry for error capturing in the ErrorBoundary component.
- Updated various workflows to include Sentry authentication token.
- Adjusted dependencies to use React Native version 0.79.6 and updated related packages.

This integration enhances the application's ability to track and manage errors effectively.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-22 23:12:11 +08:00