Commit Graph

54 Commits

Author SHA1 Message Date
Innei 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>
2025-08-02 16:41:54 +08:00
Innei d1e448d602
fix(electron): hotfix update logic
- Added ky as a dependency to handle HTTP requests for file downloads.
- Implemented downloadFileWithProgress function to provide progress updates during downloads.
- Updated hot-updater to utilize the new download function, enhancing user experience with download status logging.
- Cleaned up and refactored related code for better maintainability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-07-30 01:36:23 +08:00
Innei 8cdb983d14
feat(bootstrap): implement CORS bypass for PostHog analytics
- Added a web request handler to bypass CORS restrictions for requests to 'us.i.posthog.com'.
- Configured response headers to allow all origins, methods, and credentials for analytics integration.

Signed-off-by: Innei <tukon479@gmail.com>
2025-07-29 21:07:31 +08:00
Innei 42d39fdd22
feat(release): enhance version tagging and release extraction
- Updated the version setup action to handle new tag formats for desktop and mobile releases.
- Introduced a new script to extract release information from commit messages, improving the tagging process.
- Modified workflows to create tags in the format of `desktop/v1.2.3` and `mobile/v1.2.3`.
- Enhanced the updater logic to accommodate the new tagging structure and ensure proper release handling.

Signed-off-by: Innei <tukon479@gmail.com>
2025-07-29 19:04:09 +08:00
Innei 8802303cf2
feat(integration): support electron side to send request
Signed-off-by: Innei <tukon479@gmail.com>
2025-07-29 00:51:21 +08:00
DIYgod 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.
2025-07-16 18:11:36 +08:00
Stephen Zhou 8e73438758
feat: BitTorrent attachment and qBittorrent integration (#4173) 2025-07-15 10:23:49 +08:00
Whitewater b69800050e
fix: replace slugify with sanitizeFileName for file name processing (#4152)
* refactor: replace slugify with sanitizeFileName for fileName processing

* chore: remove unused slugify dependency
2025-07-13 13:29:52 +08:00
Innei f0c126223c
feat: enhance update checking functionality and UI in the About section
- Refactor `checkForUpdates` method to return a promise with update status and error handling.
- Update `checkForAppUpdates` to provide detailed update information.
- Improve the About section UI with new buttons and modals for legal information and update checks.
- Add new translations for update-related messages in multiple languages.

Signed-off-by: Innei <tukon479@gmail.com>
2025-07-11 20:01:17 +08:00
DIYgod 093e47cb0a
feat: add fetch cache no-store and header cache-control no-store 2025-07-11 18:19:08 +08:00
lawvs 5ac625cf92 fix: improve proxy protocol validation in updateProxy function, closes #4053 2025-07-10 23:41:42 +08:00
Stephen Zhou 2733be5402
feat(desktop): refresh session after stripe payment 2025-07-10 17:45:28 +08:00
Innei 8b37c5314f
chore: clean up package dependencies and remove unused i18n generation script
Signed-off-by: Innei <tukon479@gmail.com>
2025-07-09 00:23:51 +08:00
Innei 084b9bd1a0
chore: remove zoom functions from app menu, resolves FOL-2237
Signed-off-by: Innei <tukon479@gmail.com>
2025-07-08 23:43:02 +08:00
Innei 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>
2025-07-07 20:13:51 +08:00
Cason Kervis 913b1178c8
fix(path): change path package to pathe (#4038)
* fix(path): change path package to pathe

* fix: handle special chat in filename, fixed
#3342

- Integrated @sindresorhus/slugify to format file names based on titles.
- Updated pnpm-lock.yaml to include new dependencies.
- Minor adjustments in package.json files to ensure consistency.

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

* fix: add eslint rule for use pathe first

* refactor: useWhoami from user store (#4061)

* refactor: useWhoami from user store

* update

* update

* update

* update

* return all

* fix: invalidate entries query after unsubscribe

* feat: implement imperative modal (#4041)

* feat: implement ImperativeModalProvider with modal context and controls

* fix: make onClose prop optional for bottom modal

* chore: add ImperativeModalProvider to context providers

* feat: wrap BottomModal content in KeyboardAvoidingView for better keyboard handling

* chore: add polyfill for Promise.withResolvers

* fix: wrap ImperativeModal in a View and update onClose to accept modal ID

* feat: implement ImperativeModal with context and modal control hooks

* refactor: redesign imperative modal with root-siblings

* fix: wrap BottomModal in a View to resolve rendering issues on Android

* refactor: replace Alert.prompt with modalPrompt for category creation and renaming

* fix(desktop): show login modal when auth fail

* feat: invalidate entry readability cache

* refactor: long press to open text select sheet for ai summary

* feat: new domain folo.is

* fix: enhance auth client with mobile-specific headers (#4064)

* feat(desktop): add missing i18n key (#4066)

* feat: update twitter handle

* docs: use google play badge

* feat: add hideAvatar prop to ProfileSettingForm for conditional avatar display

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

* docs: update images

* feat(ssr): add Google Analytics tracking to index.html

- Integrated Google Tag Manager for enhanced tracking and analytics capabilities.
- Added asynchronous loading of gtag.js and configuration for tracking ID G-DZMBZBW3EC.

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

* chore: Update Japanese Languages (#4078)

* chore: update ja.json

* chore: update 6 ja.json files

chore: update and bump 6 ja.json files.

* chore: update error/ja.json

fix locale/error/ja.json

* chore: auto-fix linting and formatting issues

* chore: update app/ja.json

* chore: update ja.json

* chore: update ja.json

* chore: update ja.json and tested local.

* chore: update ja.json

update settings/ja.json

* feat(i18n): update Japanese locale files with new error messages and dialog options

* chore(vscode): set default formatter for JSON and JSONC files

* Remove JSON and JSONC formatter settings

so sorry, @hyoban 😢

Perhaps my local settings are in. I have restored it to the original. Thanks for your kindness. 
You have always been a great help.

* chore: auto-fix linting and formatting issues

* chore: update ja.json

sync and update settings/ja.json

* chore: update Japanese translations for clarity and consistency

* chore: update some ja.json

* chore(locales): update Japanese translations with new entry actions and settings

* fix: update Japanese translations for user actions and login prompts

* feat(locales): add Japanese translations for login and registration features

* feat(locales): update Japanese translations for RSSHub and related settings

* chore: auto-fix linting and formatting issues

* feat(i18n): update Japanese locale with new toolbar customization and profile link social fields

* feat(locales): update Japanese translations for search results and two-factor authentication

* feat: 日本語ローカライズの更新

---------

Co-authored-by: dai <dai@users.noreply.github.com>
Co-authored-by: Innei <i@innei.in>
Co-authored-by: Innei <Innei@users.noreply.github.com>

* feat(desktop): real user deletion

* feat(mobile): real user deletion

* 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>

* fix: update text styling for feed parameters message

* feat: use insertedBefore for mark above read

* feat(mobile): use insertedBefore for mark above read

* fix: improved lightbox component for iOS (#4089)

* feat: replace Image component with ProxyImage for improved performance and styling

* fix: update Image component style prop

* fix: improved layout in ImageItem component

* feat: integrate animated ref for media preview in EntryPictureItem

* fix: option can not be press when out of screen in the FlatList

* fix: lint

* fix: types

* fix: update lock

* fix: lint

* chore: auto-fix linting and formatting issues

---------

Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
Co-authored-by: Whitewater <me@waterwater.moe>
Co-authored-by: lawvs <18554747+lawvs@users.noreply.github.com>
Co-authored-by: DIYgod <i@diygod.me>
Co-authored-by: Konv Suu <2583695112@qq.com>
Co-authored-by: dai <dosada@gmail.com>
Co-authored-by: dai <dai@users.noreply.github.com>
Co-authored-by: Innei <i@innei.in>
Co-authored-by: Innei <Innei@users.noreply.github.com>
2025-07-07 16:55:37 +08:00
DIYgod d14c8f5c51
feat: new domain folo.is 2025-07-03 13:13:42 +08:00
DIYgod 35fb71cbbe
feat: x-app-platform header 2025-07-01 20:31:44 +08:00
DIYgod 967b37ca37
Revert "fix(desktop): electron mas"
This reverts commit 5c9b8acad6.
2025-07-01 16:50:47 +08:00
Konv Suu ea1b6c2514
fix: update losing dependency and type error (#4054) 2025-07-01 16:33:32 +08:00
Innei f6cff2a482
fix: handle special chat in filename, fixed
#3342

- Integrated @sindresorhus/slugify to format file names based on titles.
- Updated pnpm-lock.yaml to include new dependencies.
- Minor adjustments in package.json files to ensure consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-07-01 14:42:24 +08:00
Innei 440392fa43
chore: remove fast-folder-size
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-29 12:03:17 +08:00
DIYgod a469e3fe5b
feat(desktop): set contextIsolation false 2025-06-29 11:35:02 +08:00
DIYgod a097a0a715
feat(desktop): use server side ga 2025-06-28 15:47:38 +08:00
DIYgod 5c9b8acad6
fix(desktop): electron mas 2025-06-28 11:48:05 +08:00
DIYgod 77ca532848
feat: desktop firebase analytics (#4017)
* feat: firebase analytics for desktop app and desktop web

* chore: fix deps

* feat: ga4 log

* chore: add VITE_GA4_KEY
2025-06-28 09:24:31 +08:00
Stephen Zhou 82952b0595
fix: can not play tts, close #3877 2025-06-23 19:35:52 +08:00
Innei 6d76d6b558
chore: update dependencies and improve type safety
- Updated various package dependencies across the project, including @sentry/react, @tanstack/react-query, and others to their latest versions for improved performance and security.
- Enhanced type safety in several components by refining type definitions, particularly in motion-related imports.
- Adjusted transition configurations to utilize new presets for smoother animations.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-20 23:32:42 +08:00
Innei 447ad32d9f
fix: show main window when hide to active
- Updated the onActivate method in LifecycleManager to ensure the main window is shown and focused when activated, improving user experience.
- Added import for LifecycleManager in bootstrap.ts to support the new functionality.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-20 15:13:15 +08:00
Stephen Zhou e54cb16c62
chore: add OPFS Explorer extension 2025-06-20 15:09:18 +08:00
Innei b6ec2a09cf feat: implement application lifecycle and window management
Signed-off-by: Innei <i@innei.in>
2025-06-19 23:46:36 +08:00
Innei 27021df68a refactor: Introduce WindowManager for centralized window management
- Replaced direct window management functions with a WindowManager class to encapsulate window creation, retrieval, and destruction.
- Updated router, tray, menu, updater, and other modules to utilize the new WindowManager methods.
- Improved window state handling and ensured consistent window behavior across different platforms.
- Added a backup of the previous window management implementation for reference.

Signed-off-by: Innei <i@innei.in>
2025-06-19 22:57:23 +08:00
Stephen Zhou e0f03e1e7b
fix(desktop): update sqlocal, better compatibility, use opfs sah 2025-06-17 16:00:17 +08:00
Stephen Zhou 1ad0312674
fix: remove coop & coep header, use localStorage for web for now 2025-06-13 23:42:40 +08:00
Stephen Zhou 65ebf9ef93
fix: sqlite wasm in electron production (#3920) 2025-06-13 22:12:07 +08:00
Innei 9801006cb7
refactor: electron bundle all language to fix #3909
- Introduced a new look for personal profiles with added social attribute settings.
- Enhanced AI summarization with a new animation and improved performance.
- Fixed various bugs reported by the community to enhance overall user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-13 00:55:22 +08:00
Innei 70255af458
refactor(dock): implement PollingManager for unread count updates, fixed #3891
- Removed redundant polling logic from DockService and replaced it with a PollingManager class to handle polling operations more efficiently.
- Updated the setting-sync provider to utilize the new polling mechanism for managing dock badge updates.
- Cleaned up unused setDockBadge method from SettingService.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 21:20:46 +08:00
Innei 496b1d65b2
refactor: replace tipc to ipcServices (#3863)
* init

* refactor: remove @egoist/tipc integration and clean up IPC services

- Deleted references to @egoist/tipc, including related imports and methods.
- Refactored IPC services to utilize decorators for method registration.
- Updated renderer to use new IPC method calls directly.
- Cleaned up unused files and dependencies related to tipc.
- Enhanced the structure of IPC services for better maintainability.

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

* refactor: replace tipcClient with ipcServices and clean up IPC integration

- Removed all instances of tipcClient and replaced them with ipcServices for improved IPC method calls.
- Deleted the obsolete ipc-client.ts file and related references.
- Updated various components and hooks to utilize the new ipcServices structure.
- Enhanced type safety and maintainability of IPC service interactions.

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-03 23:12:48 +08:00
Innei 5bbd96ed90 fix: share menu in other system, resolves FOL-2507
Signed-off-by: Innei <i@innei.in>
2025-06-03 20:20:52 +08:00
Innei e656cfd3a2
chore: update dependencies
- 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>
2025-05-28 22:16:06 +08:00
Innei ef304cdf69
feat(desktop): add check for updates functionality in settings
- Integrated a new button in the About section to allow users to check for application updates.
- Updated localization files to include the new button text.
- Enhanced the app's update handling by importing the checkForAppUpdates function.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-27 00:51:38 +08:00
DIYgod f687688879
feat(desktop): disable hot update for staging 2025-05-26 11:24:51 +08:00
DIYgod 51e1ece5ae
fix(desktop): notification token updating 2025-05-22 12:25:37 +08:00
DIYgod 43692c67ee
feat(desktop): updateNotificationsToken with existing credentials on launch 2025-05-22 11:04:50 +08:00
DIYgod 2f87870bdb
feat(desktop): get client messaging token 2025-05-21 22:23:09 +08:00
Innei 65b648be8f
feat: refactor zen mode functionality and update shortcuts
- 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>
2025-05-21 22:03:06 +08:00
Innei 4fa171b418
feat: add `folo` scheme
- 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>
2025-05-20 20:46:12 +08:00
DIYgod 6315943594
feat(ssr): optimize list styles 2025-05-07 17:34:34 +08:00
Innei efc2e9713b
refactor: upgrade react 19 and react native 0.79 (#3661)
* update

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

* chore: update Babel and Metro configurations

- Added `unstable_transformImportMeta` option to Babel preset for improved JSX handling.
- Disabled `unstable_enablePackageExports` in Metro configuration for better package resolution.

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

* chore: add react-native-ios-utilities patch and update dependencies

- Introduced a patch for `react-native-ios-utilities` to enhance functionality.
- Updated `expo`, `react-native`, and `react-native-reanimated` versions in the example app for improved compatibility.
- Added `react-native-ios-utilities` to the project dependencies in `package.json`.

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

* update

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

* chore: auto-fix linting and formatting issues

* refactor: improve route parameter handling and entry fetching logic

- Updated `useRouteParams` to utilize `useReadonlyRoute` for better state management.
- Enhanced `useEntriesByView` to separate remote and local entry fetching, improving data handling and error management.
- Introduced debouncing for pagination in local entries and added toast notifications for error handling.
- Cleaned up entry ID retrieval to ensure uniqueness and prevent duplicates.

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

* refactor: simplify Masonry component return statement

- Updated the return statement in the Masonry component to use JSX syntax for better readability and consistency.

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

* refactor: update import from RootPortalProvider to RootPortalContext

- Changed the import statement in Sheet.tsx to reflect the updated context provider name for better clarity and consistency in the codebase.

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

* update

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

* refactor: update ref types in component props

- Changed ref prop types from React.RefObject to React.Ref for better type compatibility across various components, enhancing overall code consistency and maintainability.

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

* feat: add Xcode build server configuration and enhance desktop app routing

- Introduced a new configuration file for the Xcode build server to streamline iOS builds.
- Updated Vite configuration to include a new proxy route for sharing functionality.
- Added a new Jotai atom for managing preview state in the application.
- Removed deprecated error fallback component to clean up the codebase.
- Implemented a new render style hook for consistent styling across components.
- Enhanced entry column components with improved error handling and layout adjustments.
- Updated various components to utilize the new render style and improved accessibility.

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

* update

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

* fix: ensure plugins array is initialized and update TypeScript configuration

- Initialized the plugins array in the mobile app configuration to prevent potential runtime errors.
- Updated TypeScript configuration to enhance module resolution and improve code organization with clearer path definitions.

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

* update lint

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

* refactor: update TypeScript types and improve component props

- Added `skipLibCheck` to TypeScript configuration for faster builds.
- Updated prop types in various components to allow for null values in refs, enhancing type safety.
- Refactored several components to ensure better type compatibility and maintainability.

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

* refactor(mobile): improve layout handling in NavigationHeader component

- Added console logs for debugging right and left widths.
- Adjusted layout structure to ensure proper width handling for header elements.
- Updated loading indicator positioning and visibility logic.

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

* refactor(mobile): update Pager and QRCode components to use forwardRef

- Refactored Pager and QRCode components to directly export as functional components with forwardRef.
- Updated type definitions to improve ref handling and ensure better type safety.
- Simplified component structure for improved readability and maintainability.

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

* refactor(ui): enhance FAB components with functional component structure and improved type definitions

- Converted FABBase and FABPortable to functional components using FC type for better type safety.
- Updated props to include optional ref handling, enhancing flexibility in usage.
- Simplified component structure for improved readability and maintainability.

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

* chore(deps): update react-native-ios-utilities patch and refine TypeScript configuration

- Updated the patch for react-native-ios-utilities in pnpm-lock.yaml to reflect a new hash.
- Enhanced TypeScript configuration in tsconfig.json by adding exclusion for node_modules and formatting paths for better readability.
- Cleaned up the react-native-ios-utilities.patch by removing unused exports from the index file.

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

* update

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-07 16:30:30 +08:00
DIYgod ec34018725
feat(ssr): open feed in app 2025-05-07 13:48:51 +08:00