- Changed the `destroy` method in `ZustandChat` to be asynchronous, ensuring proper cleanup with `await`.
- Updated `newChat` and `switchToChat` actions to await the destruction of the old chat instance before creating a new one.
- Initialized `#eventEmitter`, `#status`, and `#error` in `ZustandChatState` constructor for better state management.
Signed-off-by: Innei <tukon479@gmail.com>
- Added logic to control AI panel visibility based on the current view in ChatHeader.
- Enhanced AIEnhancedTimelineLayout to automatically show the AI panel when in 'All' view.
- Refactored imports for better organization and clarity.
Signed-off-by: Innei <tukon479@gmail.com>
- Replaced mouse position tracking with spring-based intensity for smoother animations.
- Introduced multiple transform properties for layered visual effects.
- Improved event handling for pointer movements and visibility of the prompt.
- Cleaned up code for better readability and performance.
Signed-off-by: Innei <tukon479@gmail.com>
- Integrated subscription view retrieval in usePeekModal for improved modal routing.
- Updated AnimatedMarkdown to utilize subscription view when navigating entries.
- Cleaned up EntryContentForPreview by removing unnecessary class names for better styling consistency.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced ChatBottomPanel component to manage chat input, shortcuts, and rate limit notices.
- Refactored ChatInterface to utilize ChatBottomPanel, enhancing the structure and readability of the chat layout.
- Created ChatMessageContainer to handle message display and scrolling behavior, improving user experience.
- Added ScrollToBottomButton for easier navigation in long chat histories.
- Consolidated message rendering logic into a new Messages component for better maintainability.
Signed-off-by: Innei <tukon479@gmail.com>
- Renamed the configuration parameter for clarity and simplified checks for rate limiting.
- Consolidated logic for generating rate limit messages, enhancing readability and maintainability.
- Improved handling of remaining requests and reset times for better user feedback.
Signed-off-by: Innei <tukon479@gmail.com>
- Implemented a notice for users when the session is interrupted, prompting them to retry their last message.
- Added localization for the interruption message in English, Japanese, and Chinese.
- Enhanced the chat interface to handle message retries effectively, improving user experience during connection issues.
Signed-off-by: Innei <tukon479@gmail.com>
- Refactored session handling by introducing shared components for session items and empty states.
- Added functionality to filter and display both chat and task sessions in ChatHistoryDropdown.
- Implemented loading states and delete session capabilities for better user experience.
- Improved task session management with the ability to create new tasks directly from the dropdown.
Signed-off-by: Innei <tukon479@gmail.com>
- Changed RateLimitNotice from a div to a button for better accessibility and interaction.
- Added an "Upgrade Plan" button to encourage users to upgrade their plan directly from the notice.
- Improved layout styling for better visual clarity.
fix(useChatHistory): streamline loading state checks
- Simplified loading state condition in loadHistory function to improve performance.
fix(ai-chat-session): remove unnecessary localization logic in fetchRemoteSessions
- Cleaned up fetchRemoteSessions function by removing unused i18n imports and related code.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed the rateLimitNoticeRef from ChatInterface, simplifying the height calculation.
- Updated RateLimitNotice component to eliminate the ref prop, streamlining its implementation.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(rateLimit): enhance RateLimitNotice to display token usage information
Updated RateLimitNotice component to accept token usage data and display it alongside error messages. Modified related components to utilize the new token usage prop for improved user feedback on rate limits.
* fix: remove rate limit notice for onboarding
* fix: handle negative reset time
* fix: correct reset time check in RateLimitNotice component
* refactor(rateLimit): refactor RateLimitNotice to utilize chatConfig for message display
- Removed tokenUsage prop and normalized token data logic.
- Integrated chatConfig to build messages for free usage and token usage.
- Improved message rendering logic for better clarity on rate limits and resets.
* chore: clean code
* refactor: update RateLimitNotice handling and layout adjustments
- Added a new method to open external URLs in the app.
- Enhanced the updater to check for distribution updates and notify users.
- Updated the updater status types to include distribution updates.
- Refactored the update notice component to handle distribution store updates.
- Added localization for distribution update notifications.
This update improves the user experience by allowing seamless updates from distribution stores and providing clear notifications for available updates.
Signed-off-by: Innei <tukon479@gmail.com>
Refactored translation prefetching logic across multiple components to utilize the new isFreeRole function. This change ensures that users with Free roles do not trigger translation prefetching, optimizing performance and enhancing user experience. Updated relevant imports and conditions in EntryItemImpl, useEntryContent, and various EntryList components.
Signed-off-by: Innei <tukon479@gmail.com>
Introduced a new MCP preset for Fabric AI, including configuration details such as transport type and API URL. This addition enhances the functionality of the MCP by allowing users to connect their Fabric AI workspace, enabling features like reading and searching workspaces, creating, and updating notes.
Signed-off-by: Innei <tukon479@gmail.com>
Enhanced translation prefetching logic across multiple components by incorporating user role checks. Users with the Free role will no longer trigger translation prefetching, optimizing performance and resource usage. Updated relevant hooks and components to utilize the new logic for improved user experience.
Signed-off-by: Innei <tukon479@gmail.com>
Updated the error parsing logic in the error-parser.ts file to include additional status handling for FollowAPIError. Improved the toastFetchError function to utilize status codes for payment-related errors. Additionally, localized new error messages in English, Japanese, and Chinese, including updates for trial user limits and AI memory errors.
Signed-off-by: Innei <tukon479@gmail.com>
Updated the global shortcuts registration to ensure proper detection of editable elements by checking if the target is an instance of HTMLElement. This change enhances the accuracy of shortcut handling in editable contexts.
style(toast): remove unused toast styles
Deleted redundant CSS styles related to sonner toast notifications to streamline the stylesheet and improve maintainability.
style(toast): enhance toast styles with z-index and pointer events
Added z-index and pointer-events styles to the toast component for better layering and interaction handling.
Signed-off-by: Innei <tukon479@gmail.com>
Updated the AISummaryCardBase component to suggest an upgrade when encountering a payment-related error. Refactored error handling to utilize the FollowAPIError class. Improved localization for upgrade prompts in English, Japanese, and Chinese. Adjusted related components to pass error objects instead of error codes for better clarity.
Signed-off-by: Innei <tukon479@gmail.com>
Refactored the FeedCategoryImpl function to replace the 'view' prop with 'viewOnRoute' for better clarity and consistency. Adjusted related subscription action calls to utilize the new prop, ensuring proper state management and navigation behavior.
Signed-off-by: Innei <tukon479@gmail.com>