Ilyas Hallak 1763dd6fa1 feat: Complete Share Extension implementation with Keychain integration
UI/UX Improvements:
- Replace SLComposeServiceViewController with custom UIViewController
- Add beautiful green-themed UI with Readeck branding and logo
- Implement modern card-based layout with shadows and rounded corners
- Add custom cancel button and proper navigation styling
- Include loading states and comprehensive user feedback

Backend Integration:
- Add KeychainHelper integration for secure token/endpoint storage
- Implement proper API integration with async/await
- Add comprehensive error handling and status messages
- Include DTOs for API communication

Security & Configuration:
- Add keychain access groups to entitlements for both main app and extension
- Update TokenProvider to save tokens to keychain
- Modify LogoutUseCase to clear keychain data
- Update SaveServerSettingsUseCase to persist endpoint in keychain
- Configure proper build settings and file sharing between targets

Extension Lifecycle:
- Implement proper URL extraction from various sources
- Add automatic extension dismissal on success
- Ensure proper extension context handling
2025-07-04 00:00:35 +02:00
2025-06-10 14:11:23 +02:00
2025-06-10 14:11:23 +02:00
2025-06-14 22:26:48 +02:00
2025-06-26 23:04:41 +02:00
2025-06-26 23:17:33 +02:00

ReadKeep iOS App

License: MIT

A native iOS client for readeck bookmark management.

The official repository is on Codeberg: https://codeberg.org/readeck/readeck

Features

  • Browse and manage bookmarks (Unread, Favorites, Archive)
  • Share Extension for adding URLs from Safari and other apps
  • Swipe actions for quick bookmark management
  • Native iOS design with Dark Mode support

Requirements

  • iOS 17.0+
  • Xcode 15.0+
  • Swift 5.9+

Configuration

After installing the app:

  1. Open the readeck app
  2. Go to the Settings tab
  3. Enter your readeck server URL and credentials
  4. The app will automatically sync your bookmarks

Architecture

  • SwiftUI for UI
  • Core Data for local storage
  • MVVM architecture pattern
  • Repository pattern for data access

Share Extension

The app includes a Share Extension that allows adding bookmarks directly from Safari:

  1. Share any webpage in Safari
  2. Select "readeck" from the share sheet
  3. The bookmark is automatically added to your collection

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Planned Features

  • Offline sync with Core Data
  • Add support for tags
  • Add support for bookmark filtering and sorting options
  • Implement search functionality
  • Add support for collection management
  • Add support for multiple readeck servers
  • Add offline sync capabilities
  • Add support for custom themes
  • Implement push notifications for new bookmarks
  • Support for iPad multitasking
  • Implement a dark mode toggle in settings
  • Implement a tutorial for first-time users
Description
ReadKeep
Readme MIT 174 MiB
Languages
Cython 99.7%
Swift 0.3%