- Replaced button with a div in FeedListItem for better accessibility.
- Introduced MarkdownNative component for improved markdown rendering in mobile.
- Updated RsshubFormScreen to utilize MarkdownNative for displaying route descriptions.
- Refactored renderMarkdown function to use parseMarkdown for better performance and added support for text alignment in table cells.
Signed-off-by: Innei <tukon479@gmail.com>
- Changed the ESLint rule for "package-json-extend/ensure-package-version" from "warn" to "error" to enforce stricter package version checks.
- Updated various dependencies across multiple package.json files, including:
- Upgraded @eslint/compat to version 1.2.9
- Updated @types/node, @types/react, and @types/react-dom to their latest versions.
- Bumped eslint to version 9.27.0 and lint-staged to version 16.1.0.
- Updated several other packages such as turbo, tsx, and various Radix UI components to their latest versions.
- Ensured compatibility with the latest versions of dependencies.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated drizzle-orm dependency from version 0.42.0 to 0.43.1 in the following packages:
- apps/desktop/package.json
- packages/internal/database/package.json
- packages/internal/shared/package.json
- Adjusted related dependencies and configurations to ensure compatibility with the new version.
Signed-off-by: Innei <tukon479@gmail.com>
- Added the DiscoverImport component to handle OPML file uploads and parsing.
- Introduced OpmlSelectionModal for users to select feeds to import, including quota management and search functionality.
- Enhanced error handling and user feedback during the import process.
- Updated translations for new features and improved user experience.
Signed-off-by: Innei <tukon479@gmail.com>
- Added mode configuration to Login and Register forms for improved validation handling.
- Updated HCaptcha rendering to only display in production environments.
- Enhanced the Subscription Feeds section with analytics data fetching and display, including subscription count and updates per week.
- Introduced IntersectionObserver for better visibility tracking of feed items.
Signed-off-by: Innei <tukon479@gmail.com>
- Replaced instances of `useGlobalFocusableScope` with `useGlobalFocusableScopeSelector` for improved focus state management.
- Updated various components including FeedColumn, Subview, EntryColumn, and FeedItem to utilize the new selector for better performance and clarity.
- Added a new `viewportClassName` property to the SettingPageConfig interface for enhanced configuration options.
Signed-off-by: Innei <tukon479@gmail.com>
- Added new focusable presets for timeline and entry render states.
- Introduced a custom hook `useContextMenuActionShortCutTrigger` to manage context menu shortcuts based on focusable states.
- Updated various components to utilize the new focusable presets and context menu shortcuts for improved user interaction.
Signed-off-by: Innei <tukon479@gmail.com>
- Reformatted tsconfig.json for better readability.
- Removed unused exports files from internal components.
- Updated package.json files to reflect changes in exports structure and added new paths for schemas and services in the database package.
Signed-off-by: Innei <tukon479@gmail.com>
- Adjusted button size and styling for improved consistency across the application.
- Modified minimum height of the settings modal for better layout adaptability.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new `useSmoothScroll` hook to encapsulate smooth scrolling logic, improving code reusability.
- Updated `EntryScrollArea` to utilize the new hook, replacing the previous inline smooth scroll implementation.
- Exported the `useSmoothScroll` hook from the hooks index for broader accessibility.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated icon class names for social media links to include color styles for better visibility in light and dark modes.
- Added a new hotkey configuration option in the Vite setup to improve user experience with customizable shortcuts.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: update command categories and labels for consistency
- Replaced existing command categories with more descriptive names such as "Entry Render", "Global", "Integration", "Layout", "List", "Settings", "Timeline", and "Subscription".
- Updated command labels to remove unnecessary prefixes, enhancing clarity and uniformity across the application.
- Adjusted imports to include the new CommandCategory type for better type safety.
This refactor improves the organization and readability of command definitions, contributing to a more intuitive user experience.
Signed-off-by: Innei <tukon479@gmail.com>
* update
Signed-off-by: Innei <tukon479@gmail.com>
* update
Signed-off-by: Innei <tukon479@gmail.com>
* update
Signed-off-by: Innei <tukon479@gmail.com>
* feat: enhance command shortcut customization and recording functionality
- Added a new hotkey scope for recording commands.
- Introduced a mechanism to override command shortcuts using local storage.
- Implemented a key recorder for capturing user-defined shortcuts with validation rules.
- Updated the UI for editing command shortcuts, allowing users to customize their key bindings more intuitively.
This enhancement improves user experience by providing more flexibility in managing command shortcuts.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: enhance command shortcut customization by adding new commands
- Updated the default command shortcut for toggling the timeline column.
- Expanded the set of customizable commands to include various subscription and entry actions, improving user flexibility in managing shortcuts.
This update enhances the customization capabilities for command shortcuts, allowing users to tailor their experience more effectively.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: scope
Signed-off-by: Innei <tukon479@gmail.com>
* feat: add global commands for quick add and toggle corner play
- Introduced new global commands: "Quick Add" and "Toggle Corner Play" with associated keyboard shortcuts.
- Updated command IDs and types to accommodate the new functionalities.
- Enhanced the event bus integration for better command handling.
This update improves user interaction by providing quick access to essential features through keyboard shortcuts.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: remove unused hotkey scope and streamline command bindings
- Deleted the `useSwitchHotkeyScope` hook and its references to simplify the hotkey management.
- Updated command bindings to ensure they function correctly without the removed scope.
- Enhanced the logic for determining when commands should be active based on the current focus and active scopes.
This refactor improves the clarity and efficiency of the command handling system, reducing unnecessary complexity.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: add shortcut conflict detection and enhance shortcut customization UI
- Introduced a new hook `useIsShortcutConflict` to check for conflicts between user-defined shortcuts and existing ones.
- Updated the `EditableCommandShortcutItem` component to visually indicate when a shortcut is customized by the user.
- Enhanced the `ShortcutInputWrapper` to display conflict warnings and improve user interaction when editing shortcuts.
This update improves the user experience by allowing users to easily identify and resolve shortcut conflicts, enhancing the overall customization capabilities of command shortcuts.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: update command structure and enhance shortcut descriptions
- Changed the command ID for toggling the timeline column to toggle the subscription column for better clarity.
- Updated command labels to include descriptions for various commands, improving user understanding of their functionalities.
- Enhanced localization files to reflect the new command descriptions, ensuring a consistent user experience across different languages.
This update improves the usability of command shortcuts by providing clearer descriptions and a more intuitive command structure.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: introduce new keyboard shortcuts system
- Added a comprehensive command shortcut system that supports multiple categories including global operations, layout controls, timeline navigation, content rendering, subscription management, and entry actions.
- Users can access and customize key bindings through `Settings` -> `Shortcuts`.
This enhancement improves user efficiency by providing a structured way to manage keyboard shortcuts.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor
Signed-off-by: Innei <tukon479@gmail.com>
* feat: enhance focusable component with presets for improved command handling
- Introduced `FocusablePresets` to encapsulate common focus-related logic, improving code reusability.
- Updated command bindings in various components to utilize the new presets, streamlining the focus management process.
- Enhanced the `Focusable` component to support additional scopes, improving the overall functionality and user experience.
This update simplifies the management of focusable elements and enhances the command handling system.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: enhance Focusable component with asChild prop for improved flexibility
- Updated the Focusable component to support an `asChild` prop, allowing it to render a child element with focusable properties.
- Modified the BizFocusableProps interface to align with the new FocusableProps structure.
- Adjusted usage in the FeedColumn component to utilize the new `asChild` feature, enhancing the component's flexibility.
This change improves the usability of the Focusable component by allowing it to wrap existing elements while maintaining focus management capabilities.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: update WindowUnderBlur and FeedColumn components for improved structure and functionality
- Refactored the WindowUnderBlur component to accept a customizable `as` prop, enhancing its flexibility in rendering.
- Updated the FeedColumn component to utilize the new `WindowUnderBlur` structure, allowing it to wrap the Focusable component directly.
- Enhanced the Focusable component's logic to include additional conditions for the SubscriptionList scope, improving focus management.
These changes streamline the component architecture and improve the overall user experience by allowing for more versatile component usage.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: update command bindings in SubscriptionList for improved focus management
- Replaced the `isFocus` variable with `inSubscriptionScope` to streamline focus handling in the SubscriptionList component.
- Updated command bindings and hotkey conditions to utilize the new `inSubscriptionScope` logic, enhancing the clarity and functionality of focus management.
These changes improve the overall structure and usability of the SubscriptionList component, ensuring better focus handling within the subscription context.
Signed-off-by: Innei <tukon479@gmail.com>
---------
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the version of react-native-uikit-colors from 0.5.2 to 0.6.2 in multiple package.json files.
- Updated the version of tailwindcss-uikit-colors from 0.6.0 to 0.6.2 in relevant package.json files.
- Ensured consistency across the project by aligning dependency versions.
These changes help maintain compatibility and leverage improvements in the updated packages.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed unnecessary requestAnimationFrame handling to simplify the scroll animation process.
- Enhanced the stopping condition for animations to ensure smoother transitions during scrolling.
These changes improve the efficiency and responsiveness of the scrolling behavior.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a reference for scroll animations to manage their lifecycle more effectively.
- Updated the cleanup logic to stop ongoing animations when scrolling actions are triggered.
- Enhanced the scroll behavior by ensuring animations are properly halted before new scroll actions are initiated.
These changes aim to provide a smoother user experience during content transitions.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated EventBus dispatch calls in layout commands to include a highlightBoundary parameter for better focus control.
- Modified EntryItemWrapper to dispatch focus command with highlightBoundary set to false after a timeout.
- Adjusted GlobalHotkeysProvider to dispatch focus commands with highlightBoundary set to true for improved user experience.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed the zen mode option from the app menu and adjusted the corresponding global shortcut to use `$mod+Shift+Z`.
- Updated the zen mode state management in the settings module to streamline the toggle functionality.
- Enhanced command handling for zen mode, integrating it with the new command structure for better consistency.
- Updated localization files to reflect changes in shortcut labels.
This refactor improves the overall user experience by ensuring a more intuitive shortcut for toggling zen mode.
Signed-off-by: Innei <tukon479@gmail.com>
- Added APP_NAME constant with value "Folo" to global declarations in both desktop and SSR environments.
- Updated type definitions to use Prettify for improved type handling in context menu and component definitions.
- Enhanced the useTitle hook to incorporate APP_NAME in the title template for better context in the application.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed the `$mod` replacement for `Meta` in shortcut handling to ensure proper cross-platform functionality.
- Introduced new commands for "Open in Browser" and "Open Site in Browser" with corresponding shortcuts.
- Updated the `useFeedActions` and `useListActions` hooks to utilize the new command shortcuts.
- Improved the `transformShortcut` function for better platform-specific shortcut handling.
Signed-off-by: Innei <tukon479@gmail.com>
- Replaced instances of `Meta` with `$mod` in shortcut definitions across various components and hooks.
- Introduced new shortcuts for actions like "Open in Browser" and "Mark All as Read".
- Enhanced the `useCommandBinding` hook to support the new shortcut structure.
- Updated UI components to reflect the changes in shortcut keys, ensuring consistency in user experience.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced `LEGACY_APP_PROTOCOL` to manage legacy protocol support alongside the new `APP_PROTOCOL`.
- Updated various files to utilize the new protocol constants, ensuring compatibility and consistency across the application.
- Enhanced mobile app configuration to support multiple schemes for better flexibility.
Signed-off-by: Innei <tukon479@gmail.com>
- Modified the `Tabs` component to initialize the indicator state with `undefined` for width and position.
- Updated rendering logic in `TabsList` to conditionally apply styles based on the presence of indicator values, improving robustness.
Signed-off-by: Innei <tukon479@gmail.com>