12 Commits

Author SHA1 Message Date
DIYgod af61ab27d4 fix(mobile): keep header buttons clear of the iPadOS window controls
In a window that does not fill the screen, iPadOS 26 draws its window controls
over the header's first button, so the back button, the home avatar and the
start of the Discover search could not be tapped. iOS now reports the room the
controls take, and screen headers and the image viewer leave it free.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 16:41:44 +08:00
DIYgod 9b22ef24e4 fix(mobile): close the in-app browser before opening a link's follow form
iOS presents the in-app browser outside the app's navigation, so a link opened
from a page in it, such as "Open in Folo", opened its form under the browser,
seen only once the user closed it. The browser now closes first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 14:35:33 +08:00
DIYgod a1599c3635 fix(mobile): hand links the in-app browser cannot show to the system
SFSafariViewController aborts the app for any URL that is not http(s), such as
mailto: links in content or onboarding entry links. Such links now go to the
app that handles them, in JS and natively, and an unparsable one settles the call.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 14:04:58 +08:00
DIYgod f77ac26541 feat(mobile): upgrade expo sdk 55 and rnfirebase 2026-04-10 22:42:21 +08:00
Innei a9bb77167e refactor(webview): ios preload webview module
- 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>
2025-08-26 22:20:57 +08:00
Innei 83e7764cf0 feat(mobile): replace SPIndicator with ToastViewSwift for notifications
Signed-off-by: Innei <tukon479@gmail.com>
2025-04-09 20:31:50 +08:00
Innei 4fc8ec3f42 feat: scrollview scroll to end detection
- Refactored HelperModule to include new async functions for scrolling and image handling.
- Removed ProfileViewModule and associated UI components to streamline the codebase.
- Updated expo-module.config.json to reflect the removal of ProfileViewModule.
- Improved SafeNavigationScrollView and TimelineSelectorList to utilize new scroll handling features.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-07 19:31:56 +08:00
Innei 1cd67cdac5 feat(mobile): enhance image sharing functionality with URL support
- Updated UIImage extension to include URL handling in the activity item source.
- Modified HelperModule to accept an optional URL parameter when sharing images.
- Adjusted ImageContextMenu to pass the image URL during sharing actions.

This improves the image sharing experience by allowing users to share images along with their associated URLs.

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-26 18:29:01 +08:00
Innei 7ce1242f30 fix: image context menu actions via native code, fixed #3262
- Introduced a new UIImage extension to create a UIActivityItemSource, allowing images to be shared with titles and URLs.
- Enhanced HelperModule with new functions to save, share, copy images, and retrieve base64 from UIImageView.
- Updated MediaCarousel to use preview_image_url for video context menus.
- Refactored Image and ImageContextMenu components for improved image handling and context menu actions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-26 16:50:21 +08:00
Innei 6438667f25 feat(mobile): enhance HelperModule and WebViewManager for improved link handling
- Update openLink function to support promises and handle dismiss events
- Refactor WebViewManager to accept an onDismiss callback for modal presentation
- Introduce SafariViewController to manage dismissal actions
- Modify native module interface to reflect changes in openLink
- Add new Setting2FA screen and update navigation routes accordingly

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-12 23:03:56 +08:00
Innei b67685b6c1 feat(mobile): enhance image preview and URL scheme handling in iOS
- 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>
2025-03-12 00:05:14 +08:00
Innei 085bb89b36 feat(mobile): add native iOS modules for shared functionality
- Implement native iOS modules for WebView, Toaster, Galeria, and Helper
- Add SPIndicator package for native toast notifications
- Create ImageViewer package for enhanced image preview
- Introduce utility extensions and helper methods for iOS development
- Remove SPIndicator dependency from podspec
- Update toast implementation to use native module

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-11 22:18:35 +08:00