react-native-share-menu
react-native-share-menu copied to clipboard
v7.0 Tracking issue
We'll be updating the library and making a new release, specifically for Expensify's use cases. This will be a breaking change. We'll describe the release plan below.
Community note:
- This will likely be a breaking change. We'll make sure to include instructions on how to upgrade in the release notes.
- We will only be focused on fixing issues needed for Expensify's sharing feature. If you have another urgent issue that we're not addressing, and you'd like to submit a PR for, please discuss with us here and we'll make a plan together.
Phase 0: Fix blockers for new RN apps
These are issues that prevented current apps encountered immediately on trying to use react-native-share-menu. We've already merged these changes:
- [x] 1. jsBundleUrl arguments changed in recent React Native versions (https://github.com/Expensify/react-native-share-menu/issues/209).
- [x] 2. Update Android compileSdkVersion (https://github.com/Expensify/react-native-share-menu/issues/261).
- [x] 3. ShareMenuModule.java needs to implement NativeEventEmitter methods to avoid warnings (https://github.com/Expensify/react-native-share-menu/pull/268).
Phase 1: Make the library maintainable
- [ ] 1. Update the example project so we can evaluate PRs more easily (#284)
- [ ] 2. Set up a changelog format so we can track changes and consolidate release notes (#288)
- [ ] 3. Make a test release candidate so that we can ensure the transfer of the project to Expensify is complete and we're able to release the library when we're ready (#289)
Phase 2: Necessary fixes
- [ ] 1. Support a "No Share Extension UI" flow, for Expensify (#285)
- [ ] 2. Fix app group naming logic (#287)
- [ ] 3. Fix issues with loading files for storage in the iOS share extension (#290)
- [ ] 4. Detect mime-types correctly for files (#291)
- [ ] 5. Manage copied file deletion (#292)
- [ ] 6. Add a privacy manifest (#286)
- [ ] 7. Ensure this library is compatible with react-navigation deep-linking(#304)
Phase 2.5: Possibly helpful fixes
These are items we don't need for Expensify, but we've implemented solutions for while prototyping options. If these prove to be stable, we'll likely merge them:
- [ ] 1.
detachViewDelegate
should be called in more locations to prevent crashes (#271). - [ ] 2. The addition of the
isExtension
method, which can be used to behave differently in JavaScript if your code is running inside the share extension (#265)
Phase 3: New Architecture support
- [ ] #293
Phase 4: Release it!
- [ ] 1. Figure out if we need to update references to
github.com/meedan
- [ ] 2. Audit Dependabot PRs for security vulnerability fixes
- [ ] 3. Consider updating GitHub "releases" tab, or clearing it out (it is currently showing 5.0 as the latest, instead of 6.0, which on npm)
- [ ] 4. Consolidate the changelog, add to release notes
- [ ] 5. Make the release!
Out of scope
- Fixing anything related to sharing multiple items. Expensify does not currently need this, so we won't be addressing that right now.
- Expo config plugin support. This is possible to set up as a separate project from this repo, and I highly encourage this!
- Bugs and features not listed here that do not affect the "No Share Extension UI" flow