- 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>
- Added `[text-autospace:auto]` class to the `className` property in both ArticleLayout and HTML components to enhance text rendering and improve readability.
- This change ensures better handling of text spacing across different content types.
Signed-off-by: Innei <tukon479@gmail.com>
- Refactored WebViewManager to improve lifecycle management and state handling.
- Introduced a debug panel for monitoring WebView state and actions in development mode.
- Updated JavaScript injection methods to use a centralized dispatch system for better maintainability.
- Improved handling of local HTML loading and state replay after process termination.
- Added new functions for debugging, including state retrieval and flushing pending scripts.
This update aims to enhance the overall performance and usability of the WebView component, providing developers with better tools for debugging and state management.
Signed-off-by: Innei <tukon479@gmail.com>
* 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>
- 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>
* 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>
- Deleted obsolete configuration files and unused components across various packages.
- Updated package.json files to reflect the removal of dependencies.
- Cleaned up code by removing unnecessary exports and unused imports in multiple modules.
Signed-off-by: Innei <tukon479@gmail.com>
- Added tooltipDescription prop to ActionButton for improved user guidance.
- Updated CommandActionButton to utilize the new tooltipDescription.
- Modified Command interface to replace subTitle with description for better clarity.
- Adjusted entry command registration to include description in labels.
- Updated various components to ensure consistent text color usage for better readability.
Signed-off-by: Innei <tukon479@gmail.com>
- Adjusted padding in EntryTitle and EntryDetailScreen for uniformity.
- Updated HTML component to enhance structure and readability.
- Modified CSS classes in HTML and image components for better alignment.
- Cleaned up link component styles to remove unnecessary classes.
These changes enhance the overall user interface and maintain a consistent design throughout the application.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: translate on server
* refactor: remove summary and translation action
* enable summary and translation from settings
* remove translate and summary from action
* follow setting
* ignore whitespace change
* correct content translation for social item
* update
* update
* fix content
* global setting for summary on mobile
* translation store
* show and cache translation
* update migrate sql
* token header for social sign in
* remove readabilityContent in web view
* ci debug
* check repository
* ci check condition
* fix readability
* show entry content translation
* update
* update
* translation for social item
* Revert "remove translate and summary from action"
This reverts commit c8a195a9b224b308cbcd86a6293ffae03e946a72.
* update text
* support global,once,action summary and translation
* fix condition
* refactor
* refactor: extract use entry translation hook
* update
* rename
* Revert "rename"
This reverts commit 672092f88c04670c7e1017aaf8b9caa6499f1877.
* update
* update
* fix
* translation header action
* unsave prompt
* chore: auto-fix linting and formatting issues
* connect and row
* prompt on mobile before leave
* update
* follow action setting
* hide button when follow action
* update changelog
- Implement FollowImageURLSchemeHandler for custom image loading and caching
- Update ImagePreview to support loading images from URLs
- Modify WebView configuration to use new image URL scheme handler
- Remove deprecated image preview methods
- Update bridge data structure for image preview
- Refactor image preview logic across multiple modules
Signed-off-by: Innei <tukon479@gmail.com>
- Add CI environment variable to GitHub Actions workflow for iOS build
- Update app configuration to use CI-specific asset paths
- Modify Vite configuration for HTML renderer to support CI build output
Signed-off-by: Innei <tukon479@gmail.com>
- Introduce WrappedElementProvider to track element size and position
- Create ProviderComposer for composing multiple context providers
- Add hooks for accessing wrapped element details
- Update HTML component to use new provider
- Enhance image rendering with dynamic width calculation
Signed-off-by: Innei <tukon479@gmail.com>
- Enhance PreviewImage with optional Accessory component
- Update PreviewPageProvider to support rendering accessories in image preview
- Add noMedia prop to EntryContentWebView for selective media rendering
- Implement EntryGridItemAccessory to show entry details in image preview
- Update HTML renderer to support noMedia configuration
Signed-off-by: Innei <tukon479@gmail.com>
This commit includes several structural changes:
- Added Vite alias for `~` to simplify imports
- Moved atoms and hooks into `src` directory
- Updated import paths across components
- Removed unused hooks and files
Signed-off-by: Innei <tukon479@gmail.com>
- Remove Media.xcassets and Accent color set
- Update Utils.swift to hardcode accent color
- Enhance AISummary component with error handling and retry functionality
- Adjust layout and styling for AI summary
- Update image size calculation to handle undefined dimensions
Signed-off-by: Innei <tukon479@gmail.com>
- Modify pnpm workspace to point to 'web-app' directory
- Update web-app package.json build script to run build from html-renderer subdirectory
Signed-off-by: Innei <tukon479@gmail.com>
- Implement dynamic inline style rendering for WebView content
- Create new atom for managing reader inline style preference
- Update EntryContentWebView to support toggling inline style rendering
- Modify HTML renderer to conditionally apply inline styles
Signed-off-by: Innei <tukon479@gmail.com>
- Add CORS headers to CustomURLSchemeHandler for cross-origin requests
- Implement custom URL scheme protocol for image loading in MarkdownImage
- Replace HTTP/HTTPS URLs with a custom protocol to enable cross-origin image rendering
Signed-off-by: Innei <tukon479@gmail.com>
- Add blurhash and image scaling to MarkdownImage component
- Implement useCalculateNaturalSize hook for responsive image sizing
- Create atoms and types for entry model and media
- Update HTML renderer to support dynamic image rendering with Jotai state management
- Improve iOS image preview with save functionality and dynamic root view controller retrieval
Signed-off-by: Innei <tukon479@gmail.com>
- Add SDWebImage dependency to FollowNative.podspec
- Refactor ImagePreview and PreviewControllerController for robust image preview
- Implement dynamic file extension handling for image preview
- Update WebView bridge to support more flexible image preview payload
- Improve MarkdownImage component to use Uint8Array for image conversion
Signed-off-by: Innei <tukon479@gmail.com>
- Add ImagePreview helper class for displaying images using QuickLook
- Extend HelperModule with previewImage function to load and display images
- Update WebView bridge to support image preview from web content
- Implement MarkdownImage component with base64 image conversion
- Add cross-platform quickLookImage method for native image preview
Signed-off-by: Innei <tukon479@gmail.com>