Official iOS and Android client for Raindrop.io. This repository do not include any credentials or sensitive info.
I decided to open source it to be more transparent for users in terms of what app exactly do on your device, plus anyone could track development progress.
I am open to all kind of contributions. If you find a bug or have improvement feel free to submit issues or pull-requests! Would be great if you can help with resolving known issues and planned improvements described below.
- One codebase for iOS and Android thanks to React Native
- Truly native look and feel, including navigation, tabbed interface and split-view on iPad
- Share extension
- Login in with Google, Facebook, Twitter and Vkontakte
- Themes support
- Multilingual UI: translated to 21 languages
- src
- assets - static files
- co - common React components
- data - redux store (this code is also reused on Raindrop.io Web app)
- local - redux store specific to this app
- modules - navigation, i18n, etc
- root - different navigation stacks
- screens
- Rename
.env_example
to.env
yarn
react-native run-ios
orreact-native run-android
- iOS Share Extension out of memory. iOS Extensions have very strict memory limits (120Mb max), due to this sometime it crash
- No momentum scroll on Android 9. This is React Native issue that not yet resolved
- Images cache invalidation. React Native do not invalidate cache if response of server is changed.
- Sortable SectionList. I'm not found any good library to implement drag'n'drop reorder functionality for collections list. Please share any if you find, or help with implementing it
- Drag'n'drop on iPad. Ability to drag link from Raindrop to other app and vice versa
- iOS 3d touch support
- Support more 3rd party browsers. Check
src/assets/browsers.js
- Dark splash screen on Android (when dark theme is selected in app)
- Replace separate Google, Facebook and Twitter native libraries with only one
- Add new native library for Android (after react-native link):
- Add method to
getPackages
in src/MainApplication.java
- Add method to
- React-native-navigation:
- After upgrade, check if they have new flavor. Change it in /app/build.gradle at "missingDimensionStrategy"
- Also if flavor is changed, add old value to /build.gradle