Ilyas Hallak cdfa6dc4c5 Fix annotation navigation by scrolling outer ScrollView instead of WebView
The JavaScript was executing scrollIntoView() but the WebView itself cannot
scroll (isScrollEnabled = false). Fixed by calculating the annotation's Y
position in the WebView and scrolling the outer ScrollView to the correct
position instead.

Changes:
- WebView.swift: Added onScrollToPosition callback and scrollToPosition
  message handler. JavaScript now calculates and sends annotation position
  to Swift instead of using scrollIntoView().
- NativeWebView.swift: Same changes for iOS 26+ with polling mechanism for
  window.__pendingScrollPosition.
- BookmarkDetailLegacyView.swift: Implemented onScrollToPosition callback
  that calculates final scroll position (header height + annotation position)
  and scrolls the outer ScrollView.
- BookmarkDetailView2.swift: Same implementation as BookmarkDetailLegacyView.
2025-10-30 21:07:13 +01:00
2025-07-09 22:31:17 +02:00
2025-09-17 22:39:42 +02:00
2025-10-29 22:08:52 +01:00
2025-09-18 22:16:42 +02:00
2025-06-26 23:04:41 +02:00
2025-09-27 22:49:35 +02:00

Readeck iOS App

License: MIT

A native iOS client for readeck bookmark management.

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

Download

App Store (Stable Releases)

Download on the App Store

TestFlight Beta Access (Early Releases)

Join the Readeck Beta on TestFlight

For early access to new features and beta versions (use with caution). To participate, simply install TestFlight from the App Store and open the link above on your iPhone, iPad, or Mac. This early version lets you explore all core features before the official release. Your feedback is incredibly valuable and will help shape the final app.

What to test:

  • See the feature list below for an overview of what you can try out.
  • For details and recent changes, please refer to the release notes in TestFlight or the Changelog.

Please report any bugs, crashes, or suggestions directly through TestFlight, or email me at ilhallak@gmail.com. Thank you for helping make Readeck better!

If you are interested in joining the internal beta, please contact me directly at mooonki:matrix.org.

Screenshots

iPhone

iPhone Screenshot 1 iPhone Screenshot 2 iPhone Screenshot 3 iPhone Screenshot 4 iPhone Screenshot 5

iPad

iPad Screenshot 1 iPad Screenshot 2 iPad Screenshot 3 iPad Screenshot 4 iPad Screenshot 5

Core Features

  • Browse and manage bookmarks (All, Unread, Favorites, Archive, Article, Videos, Pictures)
  • Share Extension for adding URLs from Safari and other apps
  • Swipe actions for quick bookmark management
  • Native iOS design with Dark Mode support
  • Full iPad Support with Multi-Column Split View
  • Font Customization
  • Article View with Reading Time and Word Count
  • Search functionality
  • Support for reading progress
  • Save bookmarks when server is unavailable and sync when reconnected

Configuration

After installing the app:

  1. Open the readeck app
  2. Enter your readeck server URL and credentials
  3. The app will automatically load your bookmarks

Notice: Local Network Addresses are supported. If you use external Domains, you need to add a HTTPS Certificate to your readeck server. Apple does not allow to use HTTP on iOS for external domains in release versions. If you want to use HTTP, you are free to use the beta version of the app, where the HTTP is supported.

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. Enter a title if you want and hit save
  4. The bookmark is automatically added to your collection

Versions

see Changelog

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
Description
ReadKeep
Readme MIT 174 MiB
Languages
Cython 99.7%
Swift 0.3%