Commit Graph

145 Commits

Author SHA1 Message Date
DIYgod 01da257c90 feat(i18n): merge #4597/#4774 and complete localization audit (#4839)
* chore: Update Japanese translations for new features and errors

Added and updated multiple Japanese locale strings across AI, app, errors, external, settings, and shortcuts modules. Changes include new labels, descriptions, error messages, and UI text for features such as scheduling, token usage, inbox management, toolbar customization, and quick search.

* Add Japanese README documentation

Introduces README-ja.md with comprehensive information about Folo, including features, installation instructions, community links, contribution guidelines, code signing policies, and license details for Japanese-speaking users.

* Update formatting in Japanese README

Corrected the admonition marker from '[!重要]' to '[!IMPORTANT]' for consistency and made minor formatting adjustments in the README-ja.md file.

* Update community section in Japanese README

Revised wording and formatting in the community participation section of README-ja.md for improved clarity and consistency.

* Remove Japanese README file

Deleted README-ja.md to reduce duplication or outdated documentation. All relevant information should now be referenced from the main README or other documentation files.

* feat: add French (fr-FR) localization

* fix: sort imports in default-resource.ts to resolve lint error

* feat: add missing French translations for mobile/default, native, and external locales

* feat: add French language filter to discovery/recommended feeds

* docs: update changelog for French localization

* feat(i18n): merge PR #4597/#4774 and finish localization audit

---------

Co-authored-by: dai <dosada@gmail.com>
Co-authored-by: Anthony Mahé <snpepito@gmail.com>
Co-authored-by: Anthony Mahé <104373430+AnthonyMahe@users.noreply.github.com>
2026-02-13 09:25:08 +00:00
DIYgod 0859f56ad4 chore: update workspace dependencies and lockfile (#4838)
* chore: update workspace dependencies

- bump dependencies across desktop, mobile, ssr, and internal packages

- refresh pnpm lockfile

- apply type compatibility fixes required by upgraded packages

* fix(ssr): prevent tsdown CI warning from failing build

- set inlineOnly to false in tsdown config

* style: format files for CI prettier check

- apply prettier formatting to files reported by format:check

* fix(mobile): downgrade reanimated for rn 0.79 ios build
2026-02-13 16:04:13 +08:00
DIYgod 2290ec7f3c fix: preserve session when switching API domain (#4833)
* feat(auth): migrate session across API domain switch

* fix(auth): address PR review on migration flow

* fix(ci): avoid package.json mutation during renderer build
2026-02-12 20:58:03 +08:00
DIYgod 3d21eab3f0 chore: update ai sdk to v6.0.5 (#4790) 2026-01-01 15:52:02 +08:00
DIYgod 55d11af361 fix: default custom integration fetch (#4789) 2026-01-01 15:16:24 +08:00
DIYgod 7d7723f04f chore: update license 2025-12-28 18:27:30 +08:00
DIYgod 688cfceab9 feat: upgrade ai sdk 2025-12-18 12:07:27 +08:00
DIYgod 26c842751a feat: add AI timeline sorting feature with customizable prompt settings 2025-11-19 22:36:15 +08:00
Stephen Zhou 6644f5a59d feat: magic link support 2025-11-18 19:06:10 +08:00
Innei 7c06ca6d84 feat: implement BYOK (Bring Your Own Key) feature for AI providers (#4727)
* feat: implement BYOK (Bring Your Own Key) feature for AI providers

- Added BYOK section in AI settings to manage custom API keys.
- Introduced components for adding, editing, and deleting BYOK providers.
- Updated translations for BYOK-related UI elements.
- Modified existing components to support new BYOK functionality.

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

* feat: enhance BYOK provider support and update UI elements

- Added support for the "OpenRouter" BYOK provider in relevant components.
- Updated translations for security-related UI elements to reflect new descriptions.
- Adjusted styling in settings components for improved visual consistency.

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

* feat: refine BYOK provider management and enhance UI

- Introduced a new constants file for BYOK provider options.
- Updated the ByokProviderModalContent to filter available providers based on configured ones.
- Enhanced the ByokSection to manage provider addition and editing more effectively.
- Adjusted table styling in the PlanComparisonTable for improved readability.
- Added new translation keys for "AI Bring Your Own Key" in multiple languages.

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-18 15:52:54 +08:00
DIYgod 0ee62fa042 feat: remove onboarding feed references and update settings 2025-11-18 14:14:33 +08:00
DIYgod 18eb4559f0 chore: update package versions for client-sdk and ai-tools 2025-11-17 20:47:18 +08:00
DIYgod eebc33bdd3 fix: update hoverMarkUnread setting to false in default settings 2025-11-15 21:11:44 +08:00
DIYgod e48d40a7e7 chore: update package versions for client-sdk and ai-tools 2025-11-15 12:09:47 +08:00
DIYgod 94c3b91699 feat: replace hcaptcha with recaptcha-v3 2025-11-14 21:09:10 +08:00
DIYgod 54e5e84617 feat: ai shortcuts 2025-11-12 20:46:46 +08:00
DIYgod e59f98e85d feat: subscription limit warning 2025-11-12 11:45:12 +08:00
Stephen Zhou 9c2754134d chore: paid settings level 2025-11-11 19:29:48 +08:00
DIYgod 68fb09eb03 chore: update dependencies (#4667)
* chore: update dependencies

* Implement code changes to enhance functionality and improve performance
2025-11-06 21:09:46 +08:00
Innei 3439180c6c feat(updater): implement distribution update handling and external link opening
- 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>
2025-11-06 16:37:33 +08:00
DIYgod f7b648f25e feat(aiChat): conditionally render floating panel based on view type
style: adjust padding in ListItem component for better spacing
2025-11-05 17:33:57 +08:00
DIYgod aee647197b refactor: remove aiColWidthAll from UISettings interface 2025-11-05 17:12:53 +08:00
Stephen Zhou 53e3578af2 feat: new payment (#4629)
* feat: new payment

* update

* update

* update

* update

* feat: enhance plan feature formatting and update localization strings

* update

* update

* update

* update

* refactor: remove NeedActivationToast and related activation modal logic

* update

* feat(settings): guard paid settings

Centralized paid-level metadata in @follow/shared and exposed the SettingNamespace union.
Updated the builder helpers and every settings tab to pull paid badges from that shared map.
Hardened the atoms helper to block writes and surface default values when a user lacks the required role.
Added the necessary workspace dependencies for the atoms package.

* fix: types

* feat(rate-limit-notice): update error messaging and add upgrade prompt

* feat(settings): integrate review checks into settings components

* update

* fix(plan): correct priority calculation in setting page data

* feat(ai-summary): add upgrade suggestion for AI summary when plan is insufficient

* feat(settings): enhance PaidBadge component to conditionally render based on MAS review status

---------

Co-authored-by: DIYgod <i@diygod.me>
2025-10-31 11:42:57 +08:00
Innei 220702c456 Revert "chore: update API URLs to use folo.is domain"
This reverts commit ad75a1e47b.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-30 17:06:20 +08:00
DIYgod 9a8228fc7a chore: update URLs to use folo.is domain in configuration files 2025-10-30 09:04:39 +08:00
Innei ad75a1e47b chore: update API URLs to use folo.is domain
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-29 22:54:53 +08:00
DIYgod 6c369b4988 chore: update @follow-app/client-sdk version to 0.3.75 in pnpm-workspace.yaml 2025-10-29 21:07:44 +08:00
Innei 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>
2025-10-24 21:22:40 +08:00
DIYgod c80209f7ed feat: remove 'ai-page' target from shortcuts and related components 2025-10-23 21:56:02 +08:00
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 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 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 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
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
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 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 a9d5cbd519 feat(ios): support liquid glass tabbar
Signed-off-by: Innei <tukon479@gmail.com>
2025-09-22 22:07:59 +08:00
Innei 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>
2025-09-19 22:02:30 +08:00
Innei 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>
2025-09-17 00:12:54 +08:00
Whitewater cde799da4e chore: update dependencies (#4488)
* chore: update deps

* chore: remove immer patch

* chore: revert @sentry/electron upgrade

* chore: update deps

* chore: dedupe
2025-09-16 19:19:52 +08:00
Innei 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>
2025-09-16 14:47:16 +08:00
DIYgod 2902fce5f9 feat: add support for dedicated AI panel width in all feed view 2025-09-16 10:37:14 +08:00
Innei 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>
2025-09-09 19:22:51 +08:00